/* White theme; WORK retains its original theme. */
body.page-about, body.page-contact { background: #fff; color: #000; color-scheme: light; }
:is(.page-about, .page-contact) .site-header { background: linear-gradient(#ffffffeb, #ffffff00); }
:is(.page-about, .page-contact) nav a { color: #000; opacity: .55; }
:is(.page-about, .page-contact) nav a:hover,
:is(.page-about, .page-contact) nav a[aria-current="page"] { color: #000; opacity: 1; }
:is(.page-about, .page-contact) .lang,
:is(.page-about, .page-contact) .lang:hover { color: #000; }
:is(.page-about, .page-contact) .eyebrow,
.page-about .about .hero-bottom,
.page-about .about .hero-bottom .eyebrow,
.page-about .about-portrait figcaption,
.page-contact .contact-grid > div p,
.page-contact form label,
.page-contact .form-note,
.page-contact #form-status,
:is(.page-about, .page-contact) footer { color: #000; }
.page-contact .contact-grid,
:is(.page-about, .page-contact) footer { border-color: #0003; }
.page-contact input, .page-contact textarea { color: #000; border-bottom-color: #0005; }
.page-contact .send { color: #000; border-color: #000; background: transparent; }
.page-contact .send:hover { background: #000; color: #fff; }
:is(.page-about, .page-contact) :is(button, a, input, textarea):focus-visible { outline-color: #000; }

/* Greeting assembles from dust and slips underneath the portrait. */
.page-about .about > div:first-child { isolation: isolate; }
.about h2.greeting { position:relative; z-index:0; transform:translateY(var(--greeting-y,0px)); opacity:var(--greeting-fade,1); filter:blur(var(--greeting-blur,0px)); }
.greeting-line { display:block; }
.greeting-line + .greeting-line { font-size:.72em; margin-top:.15em; letter-spacing:-.055em; }
.greeting.gathering .greeting-line { opacity:var(--greeting-opacity,0); }
.greeting-dust { position:absolute; left:-100px; top:-100px; pointer-events:none; }
.page-about .about-portrait { position:relative; z-index:1; background:#fff; }
@media(prefers-reduced-motion:reduce) { .about h2.greeting { transform:none; } }

@media(min-width:801px) { .page-about .about { min-height:calc(100svh + 240px); } }

.page-about .about-portrait figcaption { margin-top:8px; }

/* Refined heading hierarchy and biography highlights. */
@media(max-width:800px) { .page-about .about h2.greeting { margin-bottom:10px; } }
@media(min-width:801px) {
 .page-about .about h2.greeting, .page-contact .contact h1 { font-weight:700; }
}
.bio-glow { font-weight:600; color:#000; }
@supports (background-clip:text) or (-webkit-background-clip:text) {
 .bio-glow {
  background:linear-gradient(110deg,#000 0%,#000 38%,#555 46%,#8a8a8a 50%,#555 54%,#000 62%,#000 100%);
  background-size:250% 100%; background-position:100% 0;
  -webkit-background-clip:text; background-clip:text; color:transparent;
  -webkit-box-decoration-break:clone; box-decoration-break:clone;
  animation:biography-shine 6s ease-in-out infinite;
 }
 .biography-extra .bio-glow { animation-delay:1.4s; }
}
@keyframes biography-shine { 0%,20% { background-position:100% 0; } 65%,100% { background-position:0% 0; } }
@media(prefers-reduced-motion:reduce) { .bio-glow { animation:none; background:none; color:#000; } }

/* Match ABOUT and CONTACT heading weights on mobile as well. */
.page-about .about h2.greeting, .page-contact .contact h1 { font-weight:700; }

/* Lighter biography text, with a softer emphasis. */
.page-about .about .hero-bottom { font-family:"Helvetica Neue","Apple SD Gothic Neo",Helvetica,Arial,sans-serif; }
.page-about .about .hero-bottom .intro { font-weight:300; }
.page-about .about .hero-bottom .bio-glow { font-weight:500; }
@media(max-width:800px) { .page-about .about .hero-bottom .intro { font-weight:300; } }
