/* Inner pages share the content frame already established on the homepage. */
.page-refresh-v20 { --page-gutter:40px; --page-frame:calc(var(--safe-width,1344px) + var(--page-gutter)*2); }
.page-refresh-v20 .container,.page-refresh-v20 .site-header__inner { width:100%; max-width:var(--page-frame)!important; margin-inline:auto; padding-inline:var(--page-gutter)!important; }
.page-refresh-v20 .hero-fullscreen__btn { display:inline-flex; text-decoration:none; }

/* The homepage service columns, with the original service detail copy on hover. */
.page-services-v20 .home-businesses { padding-top:88px; }
.page-services-v20 .business-card__description { display:none; max-width:44ch; margin:18px 0 0; font-size:14px; line-height:1.65; color:#626760; }
.page-services-v20 .business-card.is-active .business-card__description { display:block; animation:business-title-in .35s ease both; }
.page-services-v20 .business-card.is-active .business-card__visual { height:auto; flex:1 1 0; min-height:220px; }

/* Keep the copied featured projects identical to the homepage composition. */
.page-cases-v20 .home-work.home-projects { padding-top:80px; }
.page-cases-v20 .home-projects .home-projects__title { margin:0 0 48px; max-width:none; font-size:clamp(40px,4vw,64px); line-height:1.08; letter-spacing:-.055em; font-weight:600; }
.page-cases-v20 .cases-page__inner { padding-top:96px; }
.page-cases-v20 .cases-tabs { gap:10px; }
.page-cases-v20 .cases-tabs__item { font-size:11px; padding:12px 16px; border-radius:999px; }
.page-cases-v20 .cases-empty[hidden] { display:none; }
.page-cases-v20 .cases-empty { padding:56px 16px; color:#70756c; font-size:15px; line-height:1.7; text-align:center; }
.page-cases-v20 .cases-card__overlay { padding:24px; background:linear-gradient(180deg,#08100800 12%,#081008e6); }
.page-cases-v20 .cases-card__tags { display:grid; grid-template-columns:minmax(0,1fr); gap:7px; max-width:calc(100% - 20px); }
.page-cases-v20 .cases-card__tags span,.page-cases-v20 .project-info-v20 span { display:flex; align-items:baseline; gap:8px; padding:6px 9px; width:fit-content; max-width:100%; border:1px solid #ffffff38; border-radius:4px; background:#0b130ec4; color:#fff; line-height:1.45; }
.page-cases-v20 .cases-card__tags small,.page-cases-v20 .project-info-v20 small { flex:none; font-size:9px; line-height:1.4; text-transform:uppercase; letter-spacing:.06em; color:#c9d2c5; }
.page-cases-v20 .cases-card__tags b,.page-cases-v20 .project-info-v20 b { min-width:0; font-size:12px; line-height:1.45; font-weight:500; overflow-wrap:anywhere; }
.page-cases-v20 .cases-card__tags span:nth-child(2) b { font-size:16px; font-weight:600; }
.page-cases-v20 .project-info-v20 { display:grid; gap:6px; position:absolute; z-index:3; left:22px; right:22px; top:24px; opacity:0; transform:translateY(8px); pointer-events:none; transition:opacity .3s,transform .3s; }
.page-cases-v20 .brand-lead__visual .project-info-v20 { top:auto; bottom:18px; left:30px; }
.page-cases-v20 .project-tile__caption { transition:opacity .25s; }
.page-cases-v20 .project-tile:is(:hover,:focus-visible) .project-info-v20,.page-cases-v20 .brand-lead:is(:hover,:focus-within) .project-info-v20 { opacity:1; transform:none; }
.page-cases-v20 .project-tile:is(:hover,:focus-visible) .project-tile__caption { opacity:0; }

/* A VI-green gradient replaces the photographic Insights banner. */
.page-insights-v20 .insights-banner { max-height:none; min-height:600px; isolation:isolate; background:linear-gradient(118deg,#e4facb 0%,#c8f493 32%,#a0eb1d 73%,#7cbb19 100%); }
.page-insights-v20 .insights-banner::before { content:''; position:absolute; inset:0; z-index:0; pointer-events:none; background-image:linear-gradient(#254e0d08 1px,transparent 1px),linear-gradient(90deg,#254e0d08 1px,transparent 1px); background-size:64px 64px; mask-image:linear-gradient(90deg,transparent 15%,#000 85%); }
.page-insights-v20 .insights-banner::after { content:''; position:absolute; z-index:0; top:-230px; right:-110px; width:670px; height:670px; border:1px solid #ffffff50; border-radius:50%; box-shadow:0 0 0 90px #ffffff14,0 0 0 180px #ffffff0c; pointer-events:none; }
.page-insights-v20 .insights-banner__inner { padding-block:100px; }
.page-insights-v20 .insights-page__title { color:#142409; font-size:clamp(52px,5.4vw,78px); letter-spacing:-.05em; }
.page-insights-v20 .insights-page__desc,.page-insights-v20 .insights-steps__num,.page-insights-v20 .insights-steps__text { color:#17250d; }
.page-insights-v20 .insights-steps__line { background:#34571d; height:3px; }
.page-insights-v20 .insights-steps__divider { color:#48662e; }
.page-insights-v20 .insights-steps__rule { background:#30521f30; }
.page-insights-v20 .insights-card__media { background:#eef0eb; }
.page-insights-v20 .insights-card__image { display:block; width:100%; height:100%; object-fit:cover; transition:transform .65s ease; }
.page-insights-v20 .insights-card:hover { opacity:1; }
.page-insights-v20 .insights-card:hover .insights-card__image { transform:scale(1.025); }
.page-insights-v20 .insights-card__link { color:#233c12; }

/* The supplied contact photograph is shown in full. */
.page-contact-v20 .contact-cooperation__image { width:100%; height:auto; min-height:0; aspect-ratio:1800/1192; object-fit:contain; object-position:center; }

@media (min-width:1101px) {
    .page-cases-v20 .home-projects .project-grid { height:auto; aspect-ratio:1.97; }
}
@media (max-width:1100px) and (min-width:768px) { .page-refresh-v20 { --page-gutter:28px; } }
@media (max-width:1023px) {
    .page-services-v20 .business-card__description { display:block; margin-top:18px; font-size:13px; }
    .page-services-v20 .business-card.is-active .business-card__visual { flex:none; height:auto; min-height:0; }
    .page-services-v20 .business-card__heading { min-height:185px; }
}
@media (max-width:767px) {
    .page-refresh-v20 { --page-gutter:20px; }
    .page-services-v20 .home-businesses { padding-top:56px; }
    .page-cases-v20 .home-work.home-projects { padding-top:56px; }
    .page-cases-v20 .home-projects .home-projects__title { font-size:36px; margin-bottom:32px; }
    .page-cases-v20 .cases-page__inner { padding-top:64px; }
    .page-cases-v20 .cases-tabs { justify-content:flex-start; }
    .page-cases-v20 .cases-tabs__item { width:auto; font-size:10px; padding:10px 13px; }
    .page-cases-v20 .cases-card__tags span + span { display:flex; }
    .page-cases-v20 .cases-card__overlay { padding:18px; opacity:1; }
    .page-cases-v20 .cases-card__tags { transform:none; }
    .page-insights-v20 .insights-banner { min-height:540px; }
    .page-insights-v20 .insights-banner__inner { padding-block:72px; }
    .page-insights-v20 .insights-page__title { font-size:54px; }
    .page-insights-v20 .insights-banner::after { right:-390px; }
    .page-contact-v20 .contact-cooperation__inner { padding-top:64px; }
}
@media (max-width:600px) {
    .page-services-v20 .business-card__heading { min-height:0; }
    .page-cases-v20 .cases-grid { grid-template-columns:minmax(0,1fr); }
    .page-cases-v20 .cases-card__media { aspect-ratio:1.18; }
    .page-cases-v20 .cases-card__tags b { font-size:12px; }
    .page-cases-v20 .cases-card__tags span:nth-child(2) b { font-size:16px; }
}
@media (max-width:374px) {
    .page-refresh-v20 .site-header__inner { gap:12px; }
    .page-refresh-v20 .site-header__logo,.page-refresh-v20 .site-header__logo img { height:28px; }
    .page-cases-v20 .home-projects .home-projects__title { font-size:32px; }
}
@media (hover:none) {
    .page-services-v20 .business-card__description { display:block; }
    .page-services-v20 .business-card__keyword { display:none; }
    .page-services-v20 .business-card__full { display:block; }
}
@media (prefers-reduced-motion:reduce) {
    .page-refresh-v20 .project-info-v20,.page-refresh-v20 .project-tile__caption,.page-refresh-v20 .insights-card__image { transition:none; }
    .page-services-v20 .business-card.is-active .business-card__description { animation:none; }
}
