/* Type hierarchy keeps the existing family and colours. */
.site-nav a {font-weight:500;letter-spacing:.01em;}
.brand-name {font-weight:650;}
.button, .chip, .text-link, .card-action, .fitness-reel-action, .writing-example-action, .site-footer a {font-weight:600;}
.eyebrow, .section-kicker, .home-alias {font-weight:600;letter-spacing:.065em;}
h3, .home-candidate h3 {font-weight:650;line-height:1.25;}
h2, .home-candidate h2 {font-weight:700;line-height:1.12;}
.home-intro h1 {font-weight:750;}
.home-field-grid h3 {font-weight:600;}
.home-work-copy .section-kicker {line-height:1.5;}
/* Give portrait and heading their own areas. */
.page-hero-split {display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:stretch;min-height:440px;}
.page-hero-split::after {display:none;}
.page-hero-split .page-hero-image {position:relative;inset:auto;grid-column:2;grid-row:1;width:100%;height:100%;min-height:440px;max-height:560px;object-fit:cover;}
.page-hero-split .page-hero-content {grid-column:1;grid-row:1;align-self:center;width:100%;padding:clamp(2rem,4.5vw,4rem) var(--page-gutter);}
.page-hero-split h1 {font-size:clamp(2.25rem,4.1vw,3.75rem);line-height:1.07;}
.page-hero-split p {font-size:1.1rem;line-height:1.65;}
.page-hero-split .page-hero-image-headshot {object-position:50% 29%;}
.page-hero-split .page-hero-image-about {object-position:50% 38%;}
.page-hero-split .page-hero-image-writing {object-position:50% 35%;}
.page-hero-split .page-hero-image-music {object-position:60% 45%;}
/* Shorter spacing with room around photographs. */
.section {padding:clamp(2.75rem,5.5vw,4.5rem) var(--page-gutter);}
.section-heading {margin-bottom:1.65rem;}
.section h2 {font-size:clamp(2rem,3.5vw,3rem);}
.bgr-logo-frame {width:min(360px,100%);}
.bgr-logo-frame img {padding:.65rem;}
.logo-frame {box-shadow:0 12px 32px rgba(43,20,40,.09);}
.closing-cta {padding:clamp(2.75rem,5vw,4.5rem) var(--page-gutter);}
.closing-cta h2 {font-size:clamp(2rem,3.8vw,3.4rem);line-height:1.12;}
.rotating-banner {min-height:500px;}
.rotating-banner h1 {font-size:clamp(2.2rem,4vw,3.65rem);line-height:1.07;}
.rotating-banner .page-hero-content {padding-top:3rem;padding-bottom:6rem;}
.banner-controls button {font-weight:500;}
@media(max-width:900px) and (min-width:761px) {
 .page-hero-split .page-hero-content {padding:2.5rem 1.5rem;}
 .page-hero-split h1 {font-size:2.5rem;}
 .banner-fitness .page-hero-content {padding-left:1.5rem;padding-right:1.5rem;}
}
@media(max-width:760px) {
 .page-hero-split {grid-template-columns:minmax(0,1fr);min-height:0;}
 .page-hero-split .page-hero-content {grid-column:1;grid-row:1;width:100%;padding:2.25rem var(--page-gutter);}
 .page-hero-split .page-hero-image {grid-column:1;grid-row:2;width:100%;height:320px;min-height:0;max-height:none;}
 .page-hero-split h1 {font-size:clamp(2rem,7.6vw,3rem);line-height:1.1;}
 .page-hero-split p {font-size:1rem;}
 .page-hero-split .page-hero-image-headshot {object-position:50% 26%;}
 .section {padding-top:2.5rem;padding-bottom:2.5rem;}
 .section h2 {font-size:clamp(1.9rem,6.2vw,2.6rem);}
 .bgr-logo-frame {width:min(300px,100%);}
 .rotating-banner {min-height:0;}
 .rotating-banner .page-hero-content {max-width:none;width:100%;padding:2.25rem 1.2rem;}
 .rotating-banner h1 {font-size:clamp(2rem,7.5vw,3rem);}
 .closing-cta {padding-top:2.75rem;padding-bottom:2.75rem;}
}
/* Keep the portrait inside its column during page entry. */
.motion-ready .page-hero-split .page-hero-image {animation:none;transform:none;}
.page-hero-split h1 {max-width:20ch;}
.page-hero-plain .page-hero-content {padding-top:clamp(2.75rem,5vw,4rem);padding-bottom:clamp(2.75rem,5vw,4rem);}
.page-hero-plain h1 {font-size:clamp(2.25rem,4.5vw,4rem);line-height:1.08;max-width:24ch;}
