/* CITYSLIC THE OG / 126 OMG Entertainment */
@font-face {
  font-family:Studio Sans;
  src:url('assets/fonts/sans-regular.ae6f5a4de6c4.woff') format('woff');
  font-weight:400;
  font-display:swap;
}

@font-face {
  font-family:Studio Sans;
  src:url('assets/fonts/sans-bold.8eabd75c9d3c.woff') format('woff');
  font-weight:700;
  font-display:swap;
}

@font-face {
  font-family:Studio Display;
  src:url('assets/fonts/display.a7e28b69a3b4.woff') format('woff');
  font-weight:700;
  font-display:swap;
}

@font-face {
  font-family:Studio Serif;
  src:url('assets/fonts/serif-regular.a4baa48ad2d1.woff') format('woff');
  font-style:normal;
  font-weight:400;
  font-display:swap;
}

@font-face {
  font-family:Studio Serif;
  src:url('assets/fonts/serif-italic.a2bb08d85895.woff') format('woff');
  font-style:italic;
  font-weight:400;
  font-display:swap;
}

:root {
  --ink:#160e21;
  --deep:#130c20;
  --plum:#2e1b3e;
  --paper:#f5efe3;
  --gold:#dec38b;
  --muted:#c1b7ca;
  --line:rgba(222,195,139,.25);
  --text:#2d2333;
  --sans:'Studio Sans',Arial,sans-serif;
  --serif:'Studio Serif',Georgia,serif;
  --display:'Studio Display','Arial Narrow',sans-serif;
  --gutter:clamp(1.5rem,5vw,4rem);
}

*,*::before,*::after {
  box-sizing:border-box;
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:75px;
}

body {
  margin:0;
  background:var(--ink);
  color:var(--paper);
  font:400 1.0625rem/1.7 var(--sans);
  -webkit-font-smoothing:antialiased;
}

body.modal-open {
  overflow:hidden;
}

::selection {
  background:var(--gold);
  color:var(--ink);
}

img {
  display:block;
  max-width:100%;
  height:auto;
}

a {
  color:inherit;
  text-decoration:none;
}

button {
  font:inherit;
  color:inherit;
  cursor:pointer;
  border:0;
}

button,a,summary {
  -webkit-tap-highlight-color:transparent;
}

button:focus-visible,a:focus-visible,summary:focus-visible {
  outline:3px solid var(--gold);
  outline-offset:6px;
}

.light-section :focus-visible {
  outline-color:#57336a;
}

[hidden] {
  display:none!important;
}

figure,blockquote,h1,h2,h3,p {
  margin:0;
}

h1,h2,h3 {
  font-weight:400;
}

h2 {
  font:400 clamp(3rem,4.6vw,4.6rem)/1.04 var(--serif);
  letter-spacing:-.035em;
}

h2 em {
  color:var(--gold);
  font-weight:400;
}

.section-shell {
  width:min(100%,1280px);
  padding-inline:var(--gutter);
  margin-inline:auto;
}

.eyebrow {
  font-size:.8125rem;
  letter-spacing:.18em;
  line-height:1.65;
  font-weight:700;
  color:var(--gold);
}

.skip-link {
  position:fixed;
  top:-6rem;
  left:1rem;
  padding:.8rem 1.2rem;
  background:var(--gold);
  color:var(--ink);
  z-index:100;
}

.skip-link:focus {
  top:1rem;
}

.site-header {
  position:sticky;
  top:0;
  background:rgba(22,14,33,.97);
  border-bottom:1px solid var(--line);
  z-index:30;
}

.header-inner {
  width:min(100%,1280px);
  margin:auto;
  min-height:74px;
  padding:12px var(--gutter);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}

.wordmark {
  display:inline-flex;
  align-items:baseline;
  column-gap:.55rem;
  font:700 1.65rem/1.15 var(--display);
  letter-spacing:.015em;
  white-space:nowrap;
}

.wordmark span {
  font:400 .8rem/1.2 var(--sans);
  letter-spacing:.06em;
}

#navigation {
  display:flex;
  align-items:center;
  gap:clamp(18px,2.2vw,35px);
}

#navigation a {
  font-size:.875rem;
  white-space:nowrap;
  padding-block:10px;
  position:relative;
  transition:color .18s;
}

#navigation a::after {
  content:'';
  position:absolute;
  bottom:4px;
  left:0;
  width:100%;
  height:1px;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .2s;
}

#navigation a:hover,#navigation a[aria-current] {
  color:var(--gold);
}

#navigation a:hover::after,#navigation a[aria-current]::after {
  transform:scaleX(1);
}

#navigation .nav-contact {
  color:var(--gold);
}

.menu-toggle {
  display:none;
}

.hero {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  align-items:center;
  column-gap:clamp(36px,5vw,72px);
  row-gap:20px;
  padding-top:32px;
  padding-bottom:20px;
  background:var(--deep);
}

.hero-copy {
  min-width:0;
}

.hero-identity {
  display:flex;
  align-items:center;
  gap:24px;
  margin-bottom:22px;
}

.hero-logo {
  width:126px;
  height:auto;
  mix-blend-mode:screen;
}

.hero-identity .eyebrow {
  font-size:.75rem;
  line-height:2;
  letter-spacing:.13em;
}

.hero-identity .eyebrow span {
  font-weight:400;
  color:var(--muted);
  font-size:.75rem;
  letter-spacing:.07em;
}

.hero h1 {
  margin-left:-.025em;
}

.artist-name {
  display:block;
  font:700 clamp(5.5rem,8vw,7.25rem)/.93 var(--display);
  letter-spacing:-.025em;
}

.artist-suffix {
  display:flex;
  align-items:baseline;
  gap:.35em;
  font:400 clamp(2.5rem,3.8vw,3.5rem)/1 var(--sans);
  letter-spacing:.025em;
  margin-top:10px;
}

.artist-suffix em {
  font:italic clamp(6rem,9vw,8.5rem)/.85 var(--serif);
  letter-spacing:-.055em;
  color:var(--gold);
}

.hero-quote {
  font:italic clamp(1.5rem,2.4vw,2.1rem)/1.25 var(--serif);
  margin-top:22px;
}

.hero-description {
  font-size:1.0625rem;
  line-height:1.65;
  color:var(--muted);
  margin-top:16px;
}

.hero-actions {
  display:flex;
  align-items:center;
  gap:28px;
  margin-top:24px;
  flex-wrap:wrap;
}

.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:20px;
  padding:16px 24px;
  min-height:56px;
  font-size:.9375rem;
  line-height:1.4;
  font-weight:700;
  border:1px solid transparent;
  transition:background .2s,transform .2s;
  max-width:100%;
  text-align:center;
}

.hero-actions .button {
  min-height:44px;
  padding:10px 16px;
  gap:12px;
  font-size:.875rem;
}

.primary {
  background:var(--gold);
  color:var(--ink);
}

.primary:hover {
  background:#efd7a8;
  transform:translateY(-2px);
}

.dark {
  background:var(--ink);
  color:var(--paper);
}

.dark:hover {
  background:#4c315d;
  transform:translateY(-2px);
}

.play-icon {
  width:0;
  height:0;
  border-top:6px solid transparent;
  border-bottom:6px solid transparent;
  border-left:9px solid currentColor;
}

.text-link {
  display:inline-flex;
  align-items:center;
  gap:20px;
  font-size:.9375rem;
  min-height:44px;
  border-bottom:1px solid currentColor;
  line-height:1.5;
}

.text-link:hover {
  color:var(--gold);
}

.hero-portrait {
  width:min(100%,430px);
  justify-self:end;
  min-width:0;
}

.portrait-arch {
  position:relative;
  border:1px solid #b3996390;
  border-radius:49% 49% 0 0;
  padding:10% 8% 5%;
  background:var(--deep);
}

.portrait-arch::before {
  content:'';
  position:absolute;
  inset:12px;
  border:1px solid #b399631f;
  border-radius:49% 49% 0 0;
  pointer-events:none;
}

.portrait-arch img {
  width:100%;
  height:auto;
  object-fit:contain;
  aspect-ratio:2/3;
  position:relative;
}

.hero-portrait figcaption {
  display:block;
  color:var(--gold);
  font-size:.75rem;
  letter-spacing:.015em;
  line-height:1.7;
  padding-top:12px;
  text-align:center;
  text-wrap:balance;
}

.hero-portrait figcaption span {
  padding-inline:.35em;
  color:var(--muted);
}

.hero-foot {
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  border-top:1px solid var(--line);
  padding-top:8px;
  min-height:48px;
  color:var(--muted);
  font-size:.8125rem;
}

.hero-foot>span {
  font-family:var(--serif);
  font-size:1.1rem;
  letter-spacing:.01em;
}

.hero-foot>a {
  display:flex;
  gap:15px;
  align-items:center;
  font-size:.75rem;
  letter-spacing:.15em;
  min-height:44px;
}

.hero-foot>a span {
  font-size:1.2rem;
  color:var(--gold);
}

.light-section {
  background:var(--paper);
  color:var(--text);
}

.light-section .eyebrow {
  color:#644176;
}

.light-section h2 em {
  color:#59356b;
}

.music-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(40px,6vw,88px);
  padding-block:76px;
  align-items:center;
}

.music-art {
  position:relative;
  width:100%;
  max-width:410px;
  padding:0 0 0 18px;
  border-left:1px solid #5b3c6940;
}

.music-art img {
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:50% 23%;
}

.image-label {
  display:block;
  font-size:.75rem;
  letter-spacing:.14em;
  margin-top:16px;
  color:#645b69;
}

.music-copy .eyebrow {
  margin-bottom:28px;
}

.release-label {
  font-size:.75rem;
  letter-spacing:.14em;
  color:#6d6273;
  margin-bottom:4px;
}

.music-copy h2 {
  font-size:clamp(5.2rem,7.5vw,7rem);
  letter-spacing:-.045em;
  line-height:1.05;
}

.music-intro {
  font:400 clamp(1.5rem,2.5vw,2.2rem)/1.25 var(--serif);
  margin-top:22px;
  color:#246b70;
}

.body-copy {
  color:#5c5262;
  max-width:420px;
  margin:24px 0 30px;
  line-height:1.8;
}

.music-credit {
  font-size:.75rem;
  color:#6d6273;
  margin-top:18px;
}

.about-section {
  padding-block:76px;
}

.section-heading {
  margin-bottom:40px;
}

.section-heading .eyebrow {
  margin-bottom:18px;
}

.about-section .section-heading>.eyebrow {
  font-size:clamp(1rem,1.5vw,1.2rem);
  letter-spacing:.16em;
}

.about-layout {
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(40px,6vw,88px);
  align-items:start;
}

.about-photo {
  width:100%;
  max-width:370px;
  padding-top:7px;
}

.about-photo img {
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center 17%;
}

.about-photo figcaption {
  font-size:.75rem;
  letter-spacing:.15em;
  color:var(--muted);
  margin-top:18px;
}

.biography {
  color:#d1c8d8;
  font-size:1.0625rem;
  line-height:1.88;
}

.biography>p:first-child {
  font-size:1.125rem;
  color:var(--paper);
}

.biography p+p,.full-bio p+p {
  margin-top:22px;
}

.full-bio {
  margin-top:32px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.full-bio summary {
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:20px 0;
  list-style:none;
  font-size:.9375rem;
  color:var(--gold);
}

.full-bio summary::-webkit-details-marker {
  display:none;
}

.full-bio summary span {
  font-size:1.5rem;
  font-weight:400;
  transition:transform .2s;
}

.full-bio[open] summary span {
  transform:rotate(45deg);
}

.full-bio>div {
  padding:6px 0 28px;
}

.family-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(40px,6vw,88px);
  padding-block:76px;
  align-items:center;
}

.family-photo {
  width:100%;
  max-width:420px;
  padding:12px;
  border:1px solid #6b527d40;
}

.family-photo img {
  width:100%;
  height:auto;
}

.family-photo figcaption {
  font-size:.75rem;
  letter-spacing:.11em;
  text-align:center;
  padding-top:14px;
  line-height:1.7;
  color:#62546a;
}

.family-logo {
  width:150px;
  height:auto;
  margin-bottom:24px;
}

.family-copy .eyebrow {
  margin-bottom:16px;
}

.family-copy h2 {
  font-size:clamp(2.8rem,4.2vw,4.2rem);
  margin-bottom:24px;
}

.family-copy>p:not(.eyebrow) {
  line-height:1.85;
  color:#5c5262;
}

.family-copy>p+p {
  margin-top:20px;
}

.family-copy .text-link {
  color:#59356b;
  margin-top:28px;
}

.family-copy .text-link:hover {
  color:var(--ink);
}

.gallery-section {
  padding-block:76px;
}

.gallery-heading {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:30px;
}

.gallery-note {
  font-size:.9375rem;
  line-height:1.6;
  text-align:right;
  color:var(--muted);
  padding-bottom:6px;
}

.gallery-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:36px;
}

.gallery-row {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  align-items:start;
}

.gallery-sons {
  grid-template-columns:repeat(5,minmax(0,1fr));
}

.gallery-moments,.gallery-closing {
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.gallery-closing {
  width:min(100%,760px);
  margin-inline:auto;
}

.gallery-item {
  min-width:0;
  margin:0;
}

.gallery-note span {
  color:var(--gold);
}

.family-emphasis {
  color:var(--gold);
  font-weight:700;
}

.light-section .family-emphasis {
  color:#59356b;
}

.photo-card {
  position:relative;
  display:block;
  width:100%;
  padding:0;
  background:var(--plum);
  overflow:hidden;
}

.photo-card img {
  width:100%;
  height:auto;
  object-fit:contain;
  transition:filter .25s;
}

.photo-card:hover img {
  filter:brightness(.87);
}

.photo-card[data-monochrome="true"] img,#enlarged-photo.monochrome {
  filter:grayscale(1);
}

.photo-card[data-monochrome="true"]:hover img {
  filter:grayscale(1) brightness(.87);
}

.photo-open {
  position:absolute;
  inset:auto 12px 12px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:9px 13px;
  background:#160e21e8;
  color:var(--paper);
  font-size:.75rem;
  opacity:0;
  transform:translateY(4px);
  transition:opacity .2s,transform .2s;
}

.photo-open b {
  font-size:1.2rem;
  font-weight:400;
}

.photo-card:hover .photo-open,.photo-card:focus-visible .photo-open {
  opacity:1;
  transform:translateY(0);
}

.gallery-item figcaption {
  font-size:.8125rem;
  color:var(--muted);
  line-height:1.5;
  padding-top:12px;
}

.contact-section {
  background:var(--plum);
  border-top:1px solid var(--line);
}

.contact-layout {
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  gap:clamp(40px,6vw,88px);
  align-items:center;
  padding-block:76px;
}

.contact-copy>.eyebrow {
  margin-bottom:26px;
}

.contact-copy h2 {
  font-size:clamp(3rem,4.6vw,4.6rem);
}

.contact-copy>p:not(.eyebrow) {
  color:var(--muted);
  margin:28px 0;
  font-size:1.0625rem;
}

.social-links {
  display:flex;
  flex-direction:column;
  gap:12px;
}

.social-links>a {
  display:grid;
  grid-template-columns:44px minmax(0,1fr) 22px;
  gap:16px;
  align-items:center;
  padding:18px 20px;
  border:1px solid #dec38b45;
  border-radius:4px;
  background:#130c2066;
  transition:background .2s,border-color .2s,transform .2s;
}

.social-links>a:hover {
  background:#130c20a6;
  border-color:var(--gold);
  transform:translateY(-2px);
}

.social-links small {
  display:block;
  font:400 .8125rem/1.5 var(--sans);
  color:var(--muted);
  margin-top:4px;
}

.social-heading {
  font-size:.875rem;
  font-weight:700;
  color:var(--gold);
  margin-bottom:18px;
}

.social-icon {
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  color:var(--gold);
  border:1px solid #dec38b26;
  border-radius:50%;
  background:#dec38b0a;
}

.social-label {
  font:700 1.125rem/1.3 var(--sans);
}

.social-arrow {
  font:400 1.35rem/1 var(--sans);
  color:var(--gold);
}

.email-actions {
  display:flex;
  align-items:center;
  gap:20px;
  flex-wrap:wrap;
}

.email-address {
  display:block;
  flex-basis:100%;
  font-size:.875rem;
  overflow-wrap:anywhere;
  color:var(--gold);
}

.site-footer {
  background:var(--deep);
}

.footer-main {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  padding-block:28px;
}

.footer-main p,.back-top {
  font-size:.8125rem;
  color:var(--muted);
}

.back-top {
  display:flex;
  gap:14px;
  align-items:center;
  min-height:44px;
}

.footer-credit {
  font-size:.6875rem;
  color:#a49aae;
  text-align:center;
  margin-top:22px;
  padding-block:24px 30px;
  line-height:1.8;
}

.footer-credit span {
  color:inherit;
  margin-left:4px;
}

dialog {
  background:var(--ink);
  color:var(--paper);
  border:1px solid var(--line);
  padding:22px;
  width:min(1100px,95vw);
  max-height:94dvh;
}

dialog::backdrop {
  background:#0b070fec;
}

.dialog-toolbar {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  font-size:.875rem;
  padding-bottom:15px;
}

.dialog-toolbar button {
  background:transparent;
  padding:8px 15px;
  min-height:44px;
  border:1px solid var(--line);
  display:flex;
  gap:15px;
  align-items:center;
  font-size:.875rem;
  white-space:nowrap;
}

.dialog-toolbar button span {
  font-size:1.4rem;
}

.dialog-content {
  display:grid;
  grid-template-columns:44px minmax(0,1fr) 44px;
  gap:10px;
  align-items:center;
}

.dialog-content img {
  max-height:75dvh;
  width:auto;
  max-width:100%;
  margin:auto;
  object-fit:contain;
}

.dialog-content button {
  background:transparent;
  min-height:48px;
  font-size:1.6rem;
  color:var(--gold);
}

.video-card {
  margin:26px 0;
}

.video-card h3 {
  font-size:1.0625rem;
  margin-bottom:12px;
}

.video-card iframe {
  width:100%;
  aspect-ratio:16/9;
  border:0;
  background:var(--ink);
  display:block;
}

.video-card>a {
  font-size:.875rem;
  text-decoration:underline;
  text-underline-offset:4px;
  display:inline-block;
  margin-top:8px;
}

/* Keep the opening composition comfortable on shorter laptop screens. */
@media(min-width:821px) and (max-height:820px) {
  .hero {
    padding-top:24px;
    padding-bottom:16px;
    row-gap:16px;
  }
  .hero-identity {
    margin-bottom:18px;
  }
  .hero-logo {
    width:126px;
  }
  .artist-name {
    font-size:clamp(5.5rem,7.8vw,6.5rem);
  }
  .artist-suffix {
    font-size:clamp(2.5rem,3.2vw,3rem);
    margin-top:8px;
  }
  .artist-suffix em {
    font-size:clamp(6rem,8.8vw,7.25rem);
  }
  .hero-quote {
    font-size:1.75rem;
    margin-top:18px;
  }
  .hero-description {
    margin-top:12px;
    font-size:1rem;
  }
  .hero-actions {
    margin-top:20px;
  }
  .hero-portrait {
    width:clamp(300px,calc((100svh - 225px)/1.4),430px);
    max-width:100%;
  }
}

@media(max-width:1100px) {
  .header-inner {
    gap:20px;
  }
  #navigation {
    gap:20px;
  }
  .hero {
    column-gap:5%;
  }
  .hero-identity {
    gap:16px;
  }
  .hero-logo {
    width:126px;
  }
  .hero-identity .eyebrow {
    font-size:.75rem;
  }
  .hero-identity .eyebrow span {
    display:none;
  }
  .hero-actions {
    gap:20px;
  }
  .hero-portrait figcaption {
    font-size:.75rem;
  }
  .music-layout,.family-layout {
    gap:7%;
  }
  .music-art {
    margin-right:0;
  }
  .music-copy .eyebrow {
    margin-bottom:30px;
  }
  .about-layout {
    gap:8%;
  }
  .contact-layout {
    gap:7%;
  }
  .gallery-row {
    gap:24px 18px;
  }
}

@media(max-width:820px) {
  :root {
    --gutter:6vw;
  }
  .header-inner {
    min-height:76px;
    flex-wrap:wrap;
    gap:0;
  }
  .wordmark {
    font-size:1.5rem;
  }
  .menu-toggle {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    min-height:44px;
    background:transparent;
    border:1px solid var(--line);
    padding:6px 14px;
    font-size:.875rem;
  }
  .menu-symbol {
    font-size:1.4rem;
    line-height:1;
    transition:transform .2s;
  }
  .menu-toggle[aria-expanded=true] .menu-symbol {
    transform:rotate(45deg);
  }
  #navigation {
    display:none;
    width:100%;
    padding:20px 0 5px;
    flex-direction:column;
    align-items:stretch;
    gap:0;
  }
  #navigation.open {
    display:flex;
  }
  #navigation a {
    font-size:1rem;
    padding:12px 0;
    border-top:1px solid var(--line);
  }
  #navigation a::after {
    display:none;
  }
  .hero {
    padding-top:28px;
    column-gap:4%;
    padding-bottom:16px;
  }
  .hero-identity {
    display:block;
    margin-bottom:22px;
  }
  .hero-logo {
    width:100px;
    margin-bottom:18px;
  }
  .hero-identity .eyebrow {
    font-size:.75rem;
  }
  .artist-name {
    font-size:11vw;
  }
  .artist-suffix {
    font-size:4.2vw;
  }
  .artist-suffix em {
    font-size:11.5vw;
  }
  .hero-quote {
    font-size:1.5rem;
    margin-top:24px;
  }
  .hero-description {
    font-size:1rem;
  }
  .hero-actions {
    gap:12px;
    margin-top:24px;
  }
  .hero-actions .text-link {
    font-size:.875rem;
  }
  .hero-foot {
    min-height:60px;
  }
  .music-layout,.about-section,.family-layout,.gallery-section,.contact-layout {
    padding-block:70px;
  }
  .music-layout {
    gap:7%;
  }
  .music-art {
    padding-left:12px;
  }
  .music-copy .eyebrow {
    margin-bottom:24px;
  }
  .music-copy h2 {
    font-size:5.2rem;
  }
  .body-copy {
    font-size:1rem;
    line-height:1.75;
  }
  .music-intro {
    font-size:1.7rem;
  }
  .music-copy .button {
    font-size:.875rem;
    padding:14px 18px;
  }
  .about-layout {
    grid-template-columns:.75fr 1.1fr;
    gap:7%;
  }
  .biography,.biography>p:first-child {
    font-size:1rem;
  }
  .family-logo {
    width:115px;
    margin-bottom:26px;
  }
  .family-copy h2 {
    font-size:3rem;
  }
  .family-copy>p:not(.eyebrow) {
    font-size:1rem;
  }
  .family-copy .text-link {
    font-size:.875rem;
  }
  .contact-copy h2 {
    font-size:3.7rem;
  }
  .footer-main {
    flex-wrap:wrap;
    padding-block:24px;
    row-gap:15px;
  }
  .footer-main p {
    order:3;
    width:100%;
    text-align:center;
    margin-top:5px;
  }
}

@media(max-width:600px) {
  html {
    scroll-padding-top:77px;
  }
  .hero {
    grid-template-columns:1fr;
    padding-top:26px;
    padding-bottom:16px;
    gap:32px;
  }
  .hero-identity {
    display:flex;
    gap:22px;
    margin-bottom:25px;
  }
  .hero-logo {
    width:108px;
    margin:0;
  }
  .hero-identity .eyebrow {
    font-size:.75rem;
  }
  .hero-identity .eyebrow span {
    display:block;
    font-size:.75rem;
  }
  .artist-name {
    font-size:clamp(5.7rem,19vw,8.5rem);
  }
  .artist-suffix {
    font-size:2.7rem;
    gap:.35em;
    margin-top:14px;
  }
  .artist-suffix em {
    font-size:clamp(6.4rem,21vw,9rem);
  }
  .hero-quote {
    font-size:1.7rem;
    margin-top:28px;
  }
  .hero-description {
    font-size:1.0625rem;
  }
  .hero-actions {
    gap:25px;
    margin-top:26px;
  }
  .hero-copy {
    padding:0;
  }
  .hero-portrait {
    padding:0 12px;
    width:100%;
    max-width:420px;
    margin-inline:auto;
  }
  .portrait-arch {
    padding:10% 8% 5%;
  }
  .hero-portrait figcaption {
    font-size:.75rem;
    padding-top:14px;
  }
  .hero-foot>span {
    font-size:1rem;
  }
  .hero-foot>a {
    font-size:.75rem;
    gap:10px;
  }
  .music-layout {
    grid-template-columns:1fr;
    gap:38px;
    padding-block:56px;
  }
  .music-art {
    width:calc(100% - 24px);
    max-width:none;
    margin-right:24px;
  }
  .music-art img {
    aspect-ratio:4/5;
    max-height:480px;
    object-position:50% 24%;
  }
  .music-copy .eyebrow {
    margin-bottom:25px;
  }
  .music-copy h2 {
    font-size:6rem;
  }
  .music-intro {
    font-size:1.9rem;
  }
  .body-copy {
    font-size:1.0625rem;
    max-width:none;
    margin:20px 0 26px;
  }
  .music-copy .button {
    font-size:.9375rem;
  }
  .about-section {
    padding-block:60px;
  }
  .section-heading {
    margin-bottom:34px;
  }
  .section-heading .eyebrow {
    margin-bottom:20px;
  }
  h2 {
    font-size:clamp(2.7rem,10vw,3.8rem);
  }
  .about-layout {
    grid-template-columns:1fr;
    gap:32px;
  }
  .about-photo {
    width:80%;
    max-width:350px;
    padding:0;
  }
  .about-photo img {
    aspect-ratio:4/5;
  }
  .biography,.biography>p:first-child {
    font-size:1.0625rem;
    line-height:1.85;
  }
  .family-layout {
    grid-template-columns:1fr;
    gap:40px;
    padding-block:56px;
  }
  .family-photo {
    width:calc(100% - 10px);
    margin:0 5px;
    padding:10px;
  }
  .family-photo figcaption {
    padding-top:10px;
  }
  .family-logo {
    width:140px;
    margin-bottom:28px;
  }
  .family-copy h2 {
    font-size:3.5rem;
  }
  .family-copy>p:not(.eyebrow) {
    font-size:1.0625rem;
  }
  .family-copy .text-link {
    font-size:.9375rem;
  }
  .gallery-section {
    padding-block:60px;
  }
  .gallery-heading {
    align-items:start;
    flex-direction:column;
    gap:20px;
  }
  .gallery-note {
    text-align:left;
    font-size:.875rem;
    padding:0;
  }
  .gallery-grid {
    gap:30px;
  }
  .gallery-row {
    gap:24px 14px;
  }
  .gallery-item figcaption {
    font-size:.75rem;
    padding-top:10px;
  }
  .photo-open {
    display:none;
  }
  .contact-layout {
    grid-template-columns:1fr;
    gap:45px;
    padding-block:60px;
  }
  .contact-copy h2 {
    font-size:3.7rem;
  }
  .contact-copy>.eyebrow {
    margin-bottom:22px;
  }
  .contact-copy>p:not(.eyebrow) {
    font-size:1.0625rem;
  }
  .social-links>a {
    padding:16px;
    gap:14px;
  }
  .footer-credit span {
    display:block;
    margin:3px 0 0;
  }
  .footer-main .wordmark {
    font-size:1.4rem;
  }
  .footer-main .wordmark span {
    font-size:.75rem;
  }
  .footer-main p {
    font-size:.75rem;
  }
  .back-top {
    font-size:.75rem;
    gap:10px;
  }
  dialog {
    padding:14px;
    width:96vw;
  }
  .dialog-toolbar {
    gap:12px;
    font-size:.75rem;
  }
  .dialog-toolbar button {
    padding:6px 10px;
    font-size:.8125rem;
  }
  .dialog-content {
    grid-template-columns:36px minmax(0,1fr) 36px;
    gap:4px;
  }
  .dialog-content img {
    max-height:72dvh;
  }
  .dialog-content button {
    font-size:1.4rem;
  }
  .desktop-break {
    display:none;
  }
}

@media(max-width:360px) {
  .hero-identity {
    gap:14px;
  }
  .hero-identity .eyebrow span {
    display:none;
  }
  .artist-name {
    font-size:18.5vw;
  }
  .hero-actions {
    gap:14px;
  }
  .hero-actions .button {
    padding-inline:12px;
    font-size:.8125rem;
  }
  .contact-copy h2 {
    font-size:3.2rem;
  }
  .family-copy h2 {
    font-size:3rem;
  }
}

@media(max-width:820px) {
  .gallery-sons {
    grid-template-columns:repeat(6,minmax(0,1fr));
  }
  .gallery-sons>.gallery-item {
    grid-column:span 2;
  }
  .gallery-sons>.gallery-item:nth-child(4) {
    grid-column:2 / span 2;
  }
  .gallery-sons>.gallery-item:nth-child(5) {
    grid-column:4 / span 2;
  }
}

@media(max-width:600px) {
  .gallery-intro {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .gallery-intro>.gallery-item:last-child {
    grid-column:1 / -1;
    width:min(100%,350px);
    justify-self:center;
  }
  .gallery-sons {
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .gallery-sons>.gallery-item:nth-child(4) {
    grid-column:span 2;
  }
  .gallery-sons>.gallery-item:nth-child(5) {
    grid-column:2 / span 2;
  }
  .gallery-moments {
    grid-template-columns:1fr;
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*::before,*::after {
    transition:none!important;
    animation:none!important;
  }
}

