/* An editorial frame for the artist's photographs and three activities. */
:root{--ink:#111d2b;--paper:#f5f2ec;--gold:#cfb68b;--muted:#bcc3cb;--green:#e5ebe7;--line:#d1c6af33;--dark-line:#d6d4cb}
html{scroll-padding-top:104px}
.site-header{position:sticky;top:0;min-height:82px;background:var(--ink)}
.hero{padding-top:52px;column-gap:8%;grid-template-columns:1.12fr .88fr}
.hero-copy{align-self:center;padding-top:0;padding-bottom:46px}
.hero h1{font-size:clamp(6rem,10.5vw,10rem);line-height:.94;letter-spacing:-.06em;margin:32px 0}
.hero-roles{font-size:1rem;line-height:1.95}
.hero-intro{max-width:470px;font:400 clamp(1.3rem,2vw,1.6rem)/1.5 var(--serif);color:#deded5;margin-top:27px}
.hero .eyebrow{font-size:.6875rem;letter-spacing:.16em}
.hero-portrait{padding:12px 12px 0;border:1px solid #cdb5874a}
.hero-portrait figcaption{font-size:.625rem;letter-spacing:.11em;line-height:1.6;margin:13px 0;gap:8px}
.hero-bottom{padding:25px 0;gap:24px;margin-top:38px;color:#c0c6cb}
.hero-links{display:flex;gap:36px;flex-wrap:wrap}
.hero-links a{display:flex;align-items:center;gap:11px;font-size:.8125rem}
.hero-links a>span{color:var(--gold);font-size:.6875rem}
.hero-links a:hover{color:var(--gold)}
.univers{padding-top:105px;padding-bottom:105px}
.universe-name{font-size:clamp(1.8rem,2.8vw,2.5rem)}
.section-heading h2,.gallery h2{line-height:1.02}
.section-dark .editorial-photo>a{background:#0b131e}
.scene-layout{align-items:start}
.scene-copy{padding-top:6px}
.scene-photo figcaption{border-bottom:1px solid var(--line);padding-bottom:17px}
.scene-selection{gap:32px;margin-top:46px}
.scene-selection figcaption{border-bottom:1px solid var(--line);padding-bottom:16px}
.festival-layout{margin-top:75px;padding-top:58px}
.festival-portraits{gap:22px}
.recital{background:#1d2b39;border:1px solid #cfb68b42;padding:35px}
.recital-date>span{font-size:4.7rem}
.writing{padding-top:115px;padding-bottom:115px}
.author-photo{border-left:1px solid #bcb7a7;padding-left:15px}
.author-photo figcaption{font-family:var(--serif);font-size:1.15rem;font-style:italic;color:#6d685b}
.voice-portrait{max-width:270px;margin-top:40px}
.voice-portrait figcaption{font-family:var(--serif);font-size:1rem;font-style:italic}
.voice-copy{padding-top:42px}
.gallery{padding-top:112px;padding-bottom:100px}
.gallery-heading{margin-bottom:54px;align-items:end}
.gallery-heading>p{font:400 1.4rem/1.5 var(--serif);max-width:290px;color:#5e655c}
.gallery-heading h2 em{color:#696f61}
.gallery-feature{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);align-items:center;gap:7%;margin-bottom:52px}
.gallery-feature figure{min-width:0}
.gallery-feature figcaption{font-size:.8125rem}
.gallery-note{padding:20px 0 35px}
.gallery-note .eyebrow{font-size:.625rem;letter-spacing:.18em;color:#696f61}
.gallery-note h3{font-size:clamp(2rem,3.4vw,3.2rem);line-height:1.1;margin-top:24px}
.gallery-note h3 em{color:#72705e}
.gallery-note>p:not(.eyebrow){font-size:.9375rem;line-height:1.85;color:#5d665d;margin-top:24px;max-width:350px}
.collection-mark{display:block;font-size:.6875rem;letter-spacing:.09em;text-transform:uppercase;color:#777662;border-top:1px solid var(--dark-line);margin-top:27px;padding-top:18px}
.gallery-toolbar{gap:18px;padding:20px 0;margin-bottom:0}
.gallery-filters{gap:5px}
.gallery-filters button{padding:11px 13px;font-size:.8125rem;display:flex;align-items:center;gap:10px;border-radius:0}
.gallery-filters button>span{font-size:.625rem;opacity:.75;min-width:12px}
.gallery-count{font-size:.75rem;margin:0}
.gallery-invitation{font-size:.75rem;color:#66705f;margin:17px 0 30px;line-height:1.65}
.gallery-grid{column-gap:30px}
.gallery-item{margin-bottom:36px}
.gallery-photo figcaption{border-bottom:1px solid var(--dark-line);padding-bottom:17px;margin-top:14px}
.editorial-photo figcaption .caption-title{font-size:.875rem;color:inherit;margin:0;line-height:1.55}
.editorial-photo figcaption .caption-credit{font-size:.6875rem;margin-top:5px;letter-spacing:.01em}
.editorial-photo .photo-context{font-size:.6875rem;margin-top:7px}
.photo-expand{width:33px;height:33px;background:#111d2bcc;font-size:1.35rem;border-color:#f5f2ec66}
.gallery-more-wrap{text-align:center;margin-top:22px}
.gallery-more{display:inline-flex;align-items:center;justify-content:center;gap:30px;min-height:52px;padding:15px 24px;background:transparent;border:1px solid #7f8173;color:var(--ink);font-size:.8125rem;cursor:pointer;line-height:1.6}
.gallery-more span{font-size:1.2rem}
.gallery-more:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.gallery-more[hidden]{display:none}
.conviction{padding-top:85px;padding-bottom:90px}
.conviction .quote-mark{color:var(--gold)}
.contact-intro{margin-top:27px;max-width:360px;font-size:1rem;line-height:1.85;color:#627061}
.social-group{padding:27px 0}
.social-group h3{font-size:2rem}
.social-buttons{gap:12px 25px}
.social-buttons a{font-size:.8125rem;line-height:1.65;gap:12px}
.youtube-link{background:var(--ink)}
.web-directory{padding-top:42px;padding-bottom:46px}
.photo-viewer{background:#080f18fa}
.photo-viewer::backdrop{background:#080f18}

@media(min-width:1500px){.hero{padding-left:max(6.2%,calc((100% - 1260px)/2));padding-right:max(6.2%,calc((100% - 1260px)/2))}}
@media(max-width:1100px) and (min-width:901px){.hero{column-gap:6%;padding-top:42px}.hero h1{font-size:7.2rem}.hero-roles{font-size:.875rem}.hero-intro{font-size:1.3rem}.hero-links{gap:24px}.hero-portrait figcaption{font-size:.5625rem}.gallery-toolbar{align-items:start}.gallery-filters button{padding:10px}.gallery-feature{gap:5%}.gallery-note{padding-bottom:15px}.gallery-note>p:not(.eyebrow){font-size:.875rem}.scene-copy .lead{font-size:1.2rem}.gallery-grid{column-gap:22px}}
@media(max-width:900px){
  html{scroll-padding-top:98px}
  .site-header{min-height:76px}
  .hero{grid-template-columns:1fr;padding-top:40px;column-gap:0}
  .hero-copy{padding-bottom:38px}
  .hero h1{font-size:clamp(5.5rem,18vw,8rem);margin:25px 0 26px}
  .hero-roles{font-size:.9375rem;line-height:1.85}
  .hero-intro{font-size:1.35rem;max-width:430px;margin-top:22px}
  .hero .eyebrow{font-size:.625rem;gap:11px}
  .hero-portrait{max-width:410px;width:100%;margin:0 auto;padding:10px 10px 0}
  .hero-portrait figcaption{font-size:.625rem;margin:11px 0}
  .hero-bottom{flex-wrap:wrap;gap:16px;margin-top:28px;padding:23px 0}
  .hero-bottom>span{width:100%;font-size:.6875rem;color:#aeb7bf}
  .hero-links{gap:clamp(18px,5vw,36px)}
  .hero-links a{font-size:.8125rem;gap:9px}
  .univers{padding-top:70px;padding-bottom:70px}
  .scene-layout{gap:28px}
  .scene-copy{padding-top:0}
  .scene-selection{gap:24px;margin-top:34px}
  .festival-layout{margin-top:48px;padding-top:40px}
  .festival-portraits{gap:17px}
  .recital{padding:27px 23px}
  .recital-date>span{font-size:3.7rem}
  .writing{padding-top:75px;padding-bottom:75px}
  .author-photo{max-width:310px;padding-left:13px}
  .voice-portrait{max-width:240px;margin-top:32px}
  .voice-copy{padding-top:0}
  .gallery{padding-top:76px;padding-bottom:72px}
  .gallery-heading{gap:24px;margin-bottom:34px;align-items:start}
  .gallery-heading>p{font-size:1.3rem;max-width:400px}
  .gallery-feature{grid-template-columns:1fr;gap:23px;margin-bottom:30px}
  .gallery-note{padding:7px 0 12px}
  .gallery-note h3{font-size:2.5rem;margin-top:15px}
  .gallery-note>p:not(.eyebrow){max-width:590px;margin-top:18px}
  .collection-mark{margin-top:21px;padding-top:16px}
  .gallery-grid{columns:2;column-gap:20px}
  .gallery-item{margin-bottom:29px}
  .gallery-toolbar{gap:16px;padding:16px 0}
  .gallery-count{width:100%}
  .gallery-invitation{margin-top:15px;margin-bottom:23px}
  .gallery-filters button{padding:10px 11px;gap:8px;font-size:.8125rem}
  .gallery-more{gap:25px;padding:14px 19px;font-size:.8125rem}
  .conviction{padding-top:66px;padding-bottom:68px}
  .contact-intro{max-width:470px;margin-top:23px}
  .social-group h3{font-size:1.9rem}
  .photo-expand{opacity:1}
}
@media(max-width:700px){.scene-selection{grid-template-columns:1fr;gap:27px}}
@media(max-width:520px){.gallery-grid{columns:1}.gallery-filters{gap:4px}.gallery-filters button{padding:9px 10px;gap:8px}.gallery-item{margin-bottom:28px}.gallery-photo figcaption{padding-bottom:18px}.hero-links{width:100%;justify-content:space-between;gap:12px}.hero-links a{font-size:.75rem;gap:8px}.hero-portrait figcaption{letter-spacing:.07em}.gallery-note h3{font-size:2.3rem}}
@media(max-width:370px){.hero .eyebrow{letter-spacing:.07em;font-size:.5625rem}.hero-links a{gap:6px}.hero h1{font-size:5.2rem}.gallery-filters button{font-size:.75rem;padding:9px}}
@media print{.site-header,.hero-links,.gallery-more-wrap,.gallery-invitation{display:none!important}.gallery-item[hidden]{display:block}.gallery-feature{grid-template-columns:1fr 1fr}.gallery-grid{columns:2}.scene-photo{max-width:450px}.editorial-photo figcaption{color:#333}.hero-portrait{display:none}.gallery{padding:35px 0}.conviction,.gallery-note{background:white;color:black}}

/* Opera gold: luminous lettering on midnight blue, antique gold on ivory. */
@media screen {
  :root{--gold:#e3c16e;--gold-light:#f4dfac;--gold-antique:#80601f}
  .site-header .wordmark,.site-header .menu-toggle{color:var(--gold-light)}
  .site-header nav a{color:#e7d4a9}
  .site-header nav a:hover,.site-header nav a[aria-current]{color:#fff0c7}
  .hero h1,.hero h1 em{color:var(--gold)}
  .hero-roles{color:#eee0bf}
  .section-dark h2,.section-dark h3{color:var(--gold-light)}
  .section-dark h2 em,.section-dark h3 em{color:var(--gold)}
  .hero-portrait figcaption,.hero-links a{color:#e7d4a9}
  .intro-heading h2 em,.writing h2 em,.voice h2 em,.gallery-heading h2 em,
  .gallery-note h3 em,.footer-top h2 em{color:var(--gold-antique)}
  .universe-name,.work-title,.voice-principles h3,.social-group h3,
  .web-directory h3{color:var(--gold-antique)}
  .work summary:hover .work-title{color:#624613}
  .univers .eyebrow,.writing .eyebrow,.voice .eyebrow,.gallery .eyebrow,
  footer .eyebrow,.work-type,.work-motif,.other-work span,
  .universe-links .number,.voice-principles .number{color:var(--gold-antique)}
  .footer-bottom .wordmark,.footer-bottom .monogram{color:var(--gold-antique)}
  .conviction blockquote em{color:var(--gold-light)}
  @supports ((background-clip:text) or (-webkit-background-clip:text)) {
    .hero h1 em,.site-header .monogram{
      background:linear-gradient(115deg,#c99a3d 0%,#f8e6b4 30%,#e5bc60 56%,#f4daa0 78%,#ce9f43 100%);
      -webkit-background-clip:text;background-clip:text;color:transparent;
    }
  }
}
@media(forced-colors:active){.hero h1 em,.site-header .monogram{background:none;color:CanvasText}}

/* Royal blue velvet and architectural gilding. */
@media screen {
  :root{--royal:#163f9c;--royal-deep:#0b2156;--gold:#e8c773;--gold-light:#f9e7b8;--line:#e8c77340}
  .site-header{background:#0b2052;border-bottom-color:#e8c77366}
  .site-header nav{background:#0b2052}
  .hero{background:radial-gradient(ellipse at 86% 20%,#224faa 0%,#133580 38%,#0a1d48 82%)}
  .section-dark{background:linear-gradient(120deg,#0b2052,#153a8a 58%,#102c6d)}
  .hero-portrait{border:1px solid #e9c773a6;padding:15px 15px 0;box-shadow:0 0 0 5px #0b2052,0 0 0 6px #dfbb604d,0 20px 55px #020b2b55}
  .hero-portrait::before,.hero-portrait::after{content:'';position:absolute;width:45px;height:45px;pointer-events:none;border-color:#f5d98b;border-style:solid;z-index:1}
  .hero-portrait::before{top:-5px;left:-5px;border-width:3px 0 0 3px}
  .hero-portrait::after{bottom:-5px;right:-5px;border-width:0 3px 3px 0}
  .section-heading h2::after,.intro-heading h2::after,.footer-top h2::after{content:'';display:block;width:86px;height:5px;margin-top:26px;border-top:1px solid #ae8338;border-bottom:1px solid #ae8338}
  .section-dark .section-heading h2::after{border-color:#e8c773}
  .short-rule{width:40px;height:5px;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);background:transparent}
  .recital{position:relative;background:linear-gradient(115deg,#0c245c,#1b4393);border:1px solid #e8c77380;box-shadow:inset 0 0 0 5px #0e2863,inset 0 0 0 6px #e8c77330}
  .outlined-link{border-color:#e8c773b3;color:#f9e7b8}
  .outlined-link:hover{background:#214d9a}
  .conviction{position:relative;border-top:1px solid #d8ad55;border-bottom:1px solid #d8ad55;box-shadow:inset 0 7px 0 #102c6d,inset 0 8px 0 #e8c77340,inset 0 -7px 0 #102c6d,inset 0 -8px 0 #e8c77340}
  .hero h1{text-shadow:0 3px 24px #01092322}
  .hero h1 em{background-image:linear-gradient(115deg,#d6a846 0%,#fff0c8 30%,#e9c16b 56%,#f9dfa0 78%,#d6ab52 100%)}
  .hero-bottom,.festival-layout{border-top-color:#e8c77355}
  .youtube-link{background:#123479}
  .universe-links,.works,.work,.footer-bottom{border-color:#ad853d55}
  .gallery-more{border-color:#97702b;color:#75531b}
  .gallery-more:hover{background:#123479;color:#f9e7b8;border-color:#123479}
  @media(max-width:900px){.hero-portrait{padding:12px 12px 0;margin-top:6px}.hero-portrait::before,.hero-portrait::after{width:32px;height:32px}.section-heading h2::after,.intro-heading h2::after,.footer-top h2::after{width:64px;margin-top:22px}}
}

/* Sculpted opera ornament, balanced by generous unadorned space. */
@media screen {
  .hero-portrait{margin-top:60px;margin-bottom:26px;padding:17px 17px 0;border:3px ridge #c9a453;background:#0d2457;box-shadow:0 0 0 2px #6a4b22,0 0 0 5px #d4af63,0 0 0 7px #735027,0 0 0 9px #e5c586,0 20px 55px #020b2b55,inset 0 0 0 2px #f1d79566}
  .hero-portrait::before,.hero-portrait::after{border:0;background:url('assets/ornements/moulure-opera.png') center/contain no-repeat;left:50%;right:auto;width:76%;height:auto;aspect-ratio:3/1;max-height:none;pointer-events:none;filter:drop-shadow(0 3px 3px #0005)}
  .hero-portrait::before{top:0;transform:translate(-50%,-72%)}
  .hero-portrait::after{top:auto;bottom:0;width:46%;transform:translate(-50%,64%) rotate(180deg)}
  .hero-portrait figcaption{position:relative;padding:3px 0 7px}
  .scene .section-heading h2::after{width:180px;height:60px;border:0;background:url('assets/ornements/moulure-opera.png') center/contain no-repeat;margin-top:22px}
  .conviction{box-shadow:none;border-color:#d8ad5566}
  .conviction::before{content:'';display:block;width:220px;max-width:60%;aspect-ratio:3/1;background:url('assets/ornements/moulure-opera.png') center/contain no-repeat;margin:0 auto 30px;pointer-events:none}
  .recital{box-shadow:none;border-color:#e8c77366}
  @media(max-width:900px){.hero-portrait{margin-top:66px;margin-bottom:30px;padding:12px 12px 0}.hero-portrait::before{width:72%}.hero-portrait::after{width:42%}.scene .section-heading h2::after{width:150px;height:50px}.conviction::before{width:180px;margin-bottom:22px}}
}
@media print, (forced-colors:active){.hero-portrait::before,.hero-portrait::after,.conviction::before,.scene .section-heading h2::after{display:none}}
