/* Round-one shared refinements. Loaded after the page and component styles. */
.marquee-inner { animation-duration:48s; }
.process-track::before { display:none; }
.section-action { text-align:center; margin-top:36px; }
.review-ref-summary { margin:14px 0 24px; color:#555; line-height:1.7; }
.new-page.rolunk .process-rail li { border:0; border-radius:6px; padding:24px; background:#fff; box-shadow:0 16px 36px -12px #0004; }
.new-page.rolunk .process-rail li > span { margin-bottom:18px; }
.personal-work { background:#f5f3ef; }
.personal-work-grid { display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(32px,5vw,76px); align-items:center; }
.personal-work figure { position:relative; margin:0; }
.personal-work figure img { display:block; width:100%; aspect-ratio:4/5; object-fit:cover; object-position:46% center; border-radius:6px; box-shadow:0 24px 50px -14px #0005; }
.personal-work figcaption { position:absolute; bottom:20px; left:20px; margin:0; padding:10px 14px; background:#fff; border-radius:3px; color:#222; font-size:.8rem; box-shadow:0 8px 22px #0003; }
.personal-work p { color:#555; line-height:1.8; }
.personal-values { list-style:none; margin:30px 0 0; padding:0; }
.personal-values li { display:flex; gap:18px; padding:20px 0; border-top:1px solid #ddd8d2; }
.personal-values i { flex:none; margin-top:3px; color:var(--brand); font-size:26px; }
.personal-values h3 { font-size:1rem; margin:0 0 8px; }
.personal-values p { font-size:.95rem; margin:0; }

.new-page :is(.editorial-photo,.reference-photo) { position:relative; display:block; background:#171717; }
.new-page :is(.editorial-photo,.reference-photo) > span {
 position:absolute; inset:auto 0 0; min-height:0; padding:12px 16px; gap:12px;
 background:rgba(255,255,255,.94); color:#171717; font-size:.9rem; line-height:1.4;
 opacity:0; transform:translateY(100%); transition:opacity .2s,transform .2s;
}
.new-page :is(.editorial-photo,.reference-photo):is(:hover,:focus-visible) > span { opacity:1; transform:none; }
.new-page .reference-photo:first-child img { height:100%; min-height:300px; }
.new-page .detail-thumbnails .editorial-photo { display:block; }
.new-page .detail-thumbnails .editorial-photo > span { min-height:0; padding:9px 11px; font-size:.75rem; }
.new-page :is(.editorial-photo,.reference-photo):focus-visible { outline-offset:5px; }

.new-page .view-dialog { padding:10px; width:min(1100px,calc(100% - 24px)); background:#171717; color:#fff; border-radius:8px; }
.new-page .view-dialog header { align-items:center; gap:12px; margin:0 0 8px; padding:0 4px 0 8px; }
.new-page .view-dialog h2 { font-size:clamp(1rem,2vw,1.3rem); color:#fff; }
.new-page .view-close { background:#ffffff16; color:#fff; border-radius:50%; }
.new-page .view-main { background:#111; max-height:76dvh; border-radius:3px; }
.new-page .view-dialog.has-material .view-main { max-height:56dvh; }
.new-page .view-thumbs { gap:8px; margin:10px 0; }
.new-page .view-thumbs:empty,.new-page .view-disclaimer:empty { display:none; }
.new-page .view-thumbs button { width:75px; background:#272727; border-color:#555; padding:2px; }
.new-page .view-disclaimer { color:#ddd; margin:10px 4px; font-size:.82rem; line-height:1.5; }
.new-page .view-select { margin:4px; }

:is(.story-hero-copy,.hero-content,.hero-text,.contact-info,.experience-copy) :is(h1,h2,h3,p,li,.section-subtitle,.contact-phone),
.premium-media-section > .container > :is(.page-intro,.text-center) :is(h2,p,.section-subtitle) {
 text-shadow:0 3px 8px #000a,0 12px 28px #000b,0 22px 50px #0007;
}
.contact-section .contact-info .btn-outline:is(:hover,:focus-visible),
.new-page .story-hero .btn-outline:is(:hover,:focus-visible) { background:#fff; color:var(--brand); border-color:#fff; text-shadow:none; }

.testimonials { background:#fff; }
.testimonials .testimonial-grid {
 display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; height:644px;
 margin:40px -18px 0; padding:24px 0; overflow:hidden;
 mask-image:linear-gradient(transparent,#000 6%,#000 94%,transparent);
 -webkit-mask-image:linear-gradient(transparent,#000 6%,#000 94%,transparent);
}
.testimonials .testimonial-column { min-width:0; padding:0 22px; overflow:visible; }
.testimonials .testimonial-track { display:flex; flex-direction:column; gap:24px; animation:review-scroll 65s linear infinite; }
.testimonials .testimonial-column:nth-child(2) .testimonial-track { animation-duration:72s; animation-direction:reverse; }
.testimonials .testimonial-column:nth-child(3) .testimonial-track { animation-duration:68s; }
.testimonials .testimonial-grid:is(:hover,:focus-within) .testimonial-track { animation-play-state:paused; }
.testimonials .testimonial-card { background:#fff; border:1px solid #e8e8e8; border-radius:6px; padding:26px; display:flex; flex-direction:column; min-height:300px; box-shadow:0 10px 20px -10px #0004,0 3px 8px #0001; }
.testimonials .testimonial-card-header { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:22px; }
.testimonials .google-source { display:flex; align-items:center; gap:8px; font-size:.85rem; font-weight:600; color:#555; }
.testimonials .google-source img { width:22px; height:22px; object-fit:contain; box-shadow:none; }
.testimonials .review-stars { color:#e6a817; white-space:nowrap; font-size:1rem; letter-spacing:1px; }
.testimonials blockquote { color:#222; font-size:1rem; line-height:1.7; margin:0 0 24px; font-style:normal; }
.testimonials .testimonial-card footer { margin-top:auto; padding-top:16px; border-top:1px solid #eee; background:transparent; }
.testimonials footer strong { color:#222; font:600 .86rem 'Montserrat',sans-serif; }
@keyframes review-scroll { to { transform:translateY(calc(-50% - 12px)); } }

@media(max-width:992px) {
 .personal-work-grid { grid-template-columns:1fr; }
 .personal-work figure img { aspect-ratio:4/3; object-position:center 42%; }
 .testimonials .testimonial-grid { grid-template-columns:1fr; max-width:620px; margin-left:auto; margin-right:auto; }
 .testimonials .testimonial-column:not(:first-child) { display:none; }
}
@media(max-width:1180px) {
 .header .nav-links.active > a { display:flex; align-items:center; min-height:44px; }
}
@media(hover:none),(max-width:600px) {
 .new-page :is(.editorial-photo,.reference-photo) > span { opacity:1; transform:none; padding:10px 13px; font-size:.82rem; }
 .new-page .detail-thumbnails { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .new-page .detail-thumbnails .editorial-photo img { height:150px; }
 .new-page .detail-thumbnails .editorial-photo > span { font-size:.67rem; padding:8px; }
 .new-page .detail-thumbnails .editorial-photo i { display:none; }
 .new-page .view-dialog { width:calc(100% - 12px); padding:7px; }
 .new-page .view-main { max-height:75dvh; }
}
@media(prefers-reduced-motion:reduce) {
 .marquee-inner,.testimonials .testimonial-track { animation:none; }
 .testimonials .testimonial-grid { height:auto; mask-image:none; -webkit-mask-image:none; overflow:visible; gap:24px; }
 .testimonials .testimonial-column { display:block!important; }
 .testimonials .testimonial-card[aria-hidden=true] { display:none; }
 .new-page :is(.editorial-photo,.reference-photo) > span { transition:none; }
}
