/* ABOUT only. The artist image remains an unmodified WordPress attachment. */
#about.vestlys-about { position:relative; isolation:isolate; display:grid; grid-template-columns:minmax(0,59fr) minmax(0,41fr); column-gap:0; align-items:start; min-height:640px; padding:56px 0; border:0; background:#071017; border-image:linear-gradient(#08121b,#071017) 1 fill / 0 / 0 100vw; }
.vestlys-about__visual { position:absolute; inset:0; z-index:-1; overflow:hidden; pointer-events:none; mask-image:linear-gradient(90deg,#000 0%,#000 50%,rgba(0,0,0,.85) 56%,rgba(0,0,0,.45) 64%,rgba(0,0,0,.12) 76%,transparent 90%); }
.vestlys-about__visual::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,#08121b 0%,transparent 4%,transparent 94%,#071017 100%); }
.vestlys-about__image { display:block; width:100%; height:100%; object-fit:cover; object-position:32% center; }
.vestlys-about__eyebrow { grid-column:1; grid-row:1; display:flex; align-items:center; gap:24px; margin:0 0 24px; padding-left:32px; color:#d8c3a5; font:400 11px/1.6 Arial,Helvetica,sans-serif; letter-spacing:.28em; overflow-wrap:anywhere; }
.vestlys-about__eyebrow::after { content:''; width:100px; max-width:28%; height:1px; flex-shrink:0; background:linear-gradient(90deg,#d8c3a580,transparent); }
.vestlys-about__content { grid-column:2; grid-row:1 / span 2; align-self:center; min-width:0; padding:16px 28px 20px 24px; }
.vestlys-about__headline { margin:0 0 30px; max-width:24ch; color:#f4efe6; font:400 clamp(26px,2.25vw,34px)/1.3 Arial,Helvetica,sans-serif; letter-spacing:-.018em; white-space:pre-line; overflow-wrap:anywhere; }
.vestlys-about__text { max-width:44ch; color:rgba(244,239,230,.73); font:400 16px/1.85 Arial,Helvetica,sans-serif; overflow-wrap:anywhere; }
.vestlys-about__text p { margin:0 0 1.3em; }
.vestlys-about__text p:last-child { margin-bottom:0; }
.vestlys-about__claim { margin:36px 0 0; padding-top:20px; max-width:30ch; color:#d8c3a5; font:400 italic 20px/1.55 Arial,Helvetica,sans-serif; letter-spacing:.025em; overflow-wrap:anywhere; }
.vestlys-about__claim::before { content:''; display:block; width:64px; height:1px; margin-bottom:20px; background:none; }
#about.vestlys-about.vestlys-about--text-only { min-height:0; grid-template-columns:minmax(0,1fr); padding:64px 0; }
.vestlys-about--text-only .vestlys-about__eyebrow { padding-left:0; }
.vestlys-about--text-only .vestlys-about__content { grid-column:1; grid-row:2; padding:0; max-width:740px; }
@media (max-width:1100px) and (min-width:769px) {
 #about.vestlys-about { grid-template-columns:minmax(0,54fr) minmax(0,46fr); }
 .vestlys-about__content { padding-left:16px; padding-right:16px; }
 .vestlys-about__headline { font-size:28px; }
}
@media (max-width:768px) {
 #about.vestlys-about { display:flex; flex-direction:column; gap:0; min-height:0; padding:40px 0 56px; }
 .vestlys-about__eyebrow { order:0; padding:0; margin:0 0 24px; }
 .vestlys-about__visual { order:1; position:relative; inset:auto; width:100%; aspect-ratio:16/9; z-index:0; mask-image:linear-gradient(180deg,transparent 0%,#000 18%,#000 58%,rgba(0,0,0,.65) 75%,transparent 100%); }
 .vestlys-about__visual::after { display:none; }
 .vestlys-about__image { object-position:32% center; }
 .vestlys-about__content { order:2; align-self:auto; padding:20px 0 0; width:100%; max-width:620px; }
 .vestlys-about__headline { font-size:clamp(26px,5vw,32px); margin-bottom:24px; }
 .vestlys-about__text { font-size:15px; line-height:1.85; }
 .vestlys-about__claim { font-size:19px; margin-top:28px; }
 #about.vestlys-about--text-only { padding:40px 0 56px; }
}

#about:empty { min-height:0; padding:0; border:0; }

/* Full editorial text stays in WordPress and in the accessible modal. */
.vestlys-about__text[data-teaser-ready] { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:5; line-clamp:5; max-height:9.25em; overflow:hidden; }
.vestlys-about__more { margin-top:14px; }
.vestlys-about [hidden] { display:none!important; }
.vestlys-about :focus-visible { outline:2px solid #d8c3a5; outline-offset:5px; }
.vestlys-about__dialog { width:min(820px,calc(100% - 32px)); background:linear-gradient(145deg,#10202b,#071017 65%); padding:clamp(24px,5vw,64px); }
.vestlys-about__dialog h2 { max-width:27ch; font-size:clamp(26px,3vw,38px); line-height:1.3; }
.vestlys-about__full-text { max-width:62ch; color:#d0d1ce; font:400 16px/1.85 Arial,Helvetica,sans-serif; overflow-wrap:anywhere; }
.vestlys-about__full-text p { margin:0 0 1.3em; }
@media(max-width:768px) {
 .vestlys-about__text[data-teaser-ready] { -webkit-line-clamp:5; line-clamp:5; max-height:9.25em; }
 .vestlys-about__visual { aspect-ratio:16/9; }
 .vestlys-about__image { object-position:32% 57%; }
 .vestlys-about__dialog { max-height:calc(100dvh - 24px); }
}

/* Paragraph margins must not leave a clipped fragment in the five-line teaser. */
.vestlys-about__text[data-teaser-ready] p { display:inline; margin:0; }
.vestlys-about__text[data-teaser-ready] p + p::before { content:' '; }

/* Fine divider only in the horizontal image/text composition; no layout shift. */
@media (min-width:769px) {
 .vestlys-about:not(.vestlys-about--text-only) .vestlys-about__content { position:relative; }
 .vestlys-about:not(.vestlys-about--text-only) .vestlys-about__content::before { content:''; position:absolute; pointer-events:none; left:0; top:0; bottom:0; width:1px; background:linear-gradient(180deg,transparent,rgba(216,195,165,.24) 12%,rgba(216,195,165,.24) 88%,transparent); }
}

/* ABOUT and CONTACT use the unchanged MUSIC header's visual measurements.
   Preserve each header's existing occupied height so following content stays put. */
.vestlys-about__eyebrow.vestlys-section-header,
.vestlys-contact__eyebrow.vestlys-section-header { display:flex; align-items:center; gap:24px; width:100%; height:22.5px; min-width:0; padding:0; color:#d8c3a5; font:400 15px/1.5 Arial,Helvetica,sans-serif; letter-spacing:.36em; }
.vestlys-about__eyebrow.vestlys-section-header { grid-column:1 / -1; margin-bottom:19.1px; }
.vestlys-contact__eyebrow.vestlys-section-header { margin-bottom:27.1px; }
.vestlys-section-header__label { flex:none; }
.vestlys-section-header__icon { order:1; flex:0 0 21px; width:21px; height:22px; fill:none; stroke:currentColor; stroke-width:1; stroke-linecap:round; stroke-linejoin:round; opacity:.5; }
.vestlys-about__eyebrow.vestlys-section-header::after,
.vestlys-contact__eyebrow.vestlys-section-header::after { content:''; height:1px; width:auto; max-width:none; flex:1; background:linear-gradient(90deg,rgba(216,195,165,.3),rgba(216,195,165,.035)); }
@media(max-width:768px) {
 .vestlys-about__eyebrow.vestlys-section-header,
 .vestlys-contact__eyebrow.vestlys-section-header { gap:18px; height:22px; font-size:13px; }
 .vestlys-about__eyebrow.vestlys-section-header { margin-bottom:19.6px; }
 .vestlys-contact__eyebrow.vestlys-section-header { margin-bottom:27.6px; }
}

/* Build 05.5: separate Desktop header row; only the horizontal photo fade remains. */
@media(min-width:769px) {
 #about.vestlys-about:not(.vestlys-about--text-only) { grid-template-rows:54.5px minmax(0,1fr); padding-bottom:0; }
 .vestlys-about:not(.vestlys-about--text-only) > .vestlys-about__eyebrow.vestlys-section-header { grid-row:1; margin-bottom:32px; }
 .vestlys-about:not(.vestlys-about--text-only) > .vestlys-about__content { grid-row:2; }
 .vestlys-about:not(.vestlys-about--text-only) > .vestlys-about__visual { top:110.5px; }
 .vestlys-about:not(.vestlys-about--text-only) > .vestlys-about__visual::after { display:none; }
}
