/* v56: one palette and one role for each colour across the offline promotion page. */
.offline-page {
 --sf-blue:#215de8;
 --sf-blue-hover:#194ec9;
 --sf-heading:#1e2d43;
 --sf-ink:#465469;
 --sf-muted:#607086;
 --sf-soft:#f4faff;
 --sf-tint:#e8f0ff;
 --sf-line:#dce5f0;
 --sf-paper:#fff;
 --blue:var(--sf-blue);
 --ink:var(--sf-heading);
 color:var(--sf-ink);
 background:var(--sf-paper);
}
.offline-page :is(.wordmark,.header nav,.footer nav,.footer-bottom){color:var(--sf-heading)}
.offline-page :is(.header,.footer){background:var(--sf-paper);border-color:var(--sf-line)}
.offline-page .menu-toggle span{background:var(--sf-heading)}
.offline-page .header nav a:hover,.offline-page .footer a:hover{color:var(--sf-blue)}
.offline-page :is(a,button,summary):focus-visible{outline-color:var(--sf-blue)}
.offline-page main :is(.sf-hero-reference,.sf-intro-video,.sf-network-v43,.sf-services-v55,.sf-cases-v54,.sf-process-v50,.off-faq,.sf-contact-v44) :is(h1,h2,h3){color:var(--sf-heading)}
.offline-page :is(.sf-hero-description,.sf-intro-head>p,.sf-network-summary,.sf-service-text p,.sf-case dd,.sf-process-v50 .sf-section-head>p,.sf-process-stages p,.off-question,.off-answer,.sf-contact-description){color:var(--sf-ink)}
.offline-page :is(.sf-hero-caption,.sf-movie-preview figcaption,.sf-network-note,.sf-asof,.sf-source,.footer-bottom){color:var(--sf-muted)}
/* White reading surfaces and one repeated, pale-blue section background. */
.offline-page .sf-hero-reference{background:var(--sf-soft)}
.offline-page .sf-hero-art{background:var(--sf-soft)}
.offline-page .sf-intro-video{background:var(--sf-paper)}
.offline-page .sf-network-v43{background:var(--sf-soft)}
.offline-page .sf-services-v55{background:var(--sf-paper)}
.offline-page .sf-cases-v54{background:var(--sf-soft);color:var(--sf-ink)}
.offline-page .sf-process-v50{background:var(--sf-paper)}
.offline-page .off-faq-v47.off-faq{background:var(--sf-soft)}
/* Blue is reserved for emphasis, labels, numbers and action controls. */
.offline-page .sf-hero-reference h1 .sf-hero-keyword{color:var(--sf-blue);background:linear-gradient(transparent 82%,var(--sf-tint) 82%)}
.offline-page .sf-button,.offline-page .sf-hero-reference .sf-hero-cta{background:var(--sf-blue);color:var(--sf-paper);box-shadow:0 5px 12px #215de814}
.offline-page .sf-button:hover,.offline-page .sf-hero-reference .sf-hero-cta:hover{background:var(--sf-blue-hover)}
.offline-page .sf-movie-screen{border-color:var(--sf-paper);background:var(--sf-paper);box-shadow:0 14px 32px #1e2d4314}
.offline-page .sf-movie-play{color:var(--sf-blue);background:var(--sf-paper);box-shadow:0 8px 24px #1e2d431f}
.offline-page .sf-movie-flow{color:var(--sf-heading)}
.offline-page .sf-movie-flow>li:after{color:#91acd7}
.offline-page .sf-network-diagram{background:radial-gradient(circle,var(--sf-tint) 0%,var(--sf-soft) 64%,var(--sf-soft) 75%)}
.offline-page .sf-network-lines{stroke:#8eb0eb}
.offline-page .sf-network-scale{background:var(--sf-paper);box-shadow:0 0 0 12px var(--sf-tint)}
.offline-page .sf-network-scale :is(strong,.sf-network-scale-number span){color:var(--sf-blue)}
.offline-page .sf-network-scale-areas{color:var(--sf-ink);border-color:var(--sf-line)}
.offline-page .sf-network-portrait{background:var(--sf-paper);border-color:var(--sf-line)}
.offline-page .sf-network-node figcaption{color:var(--sf-ink);background:var(--sf-paper)}
.offline-page .sf-services-v55 .sf-service-purpose{color:var(--sf-blue);background:var(--sf-tint)}
.offline-page .sf-service-row{border-color:var(--sf-line);background:var(--sf-paper);box-shadow:0 7px 24px #1e2d4306}
.offline-page .sf-services-v55 .sf-service-art{background:var(--sf-paper)}
/* Case studies keep their source layout; only their palette changes. */
.offline-page .sf-cases-v54 .sf-section-head>p{color:var(--sf-ink)}
.offline-page .sf-cases-v54 .sf-case{color:var(--sf-ink);border-color:var(--sf-line);background:var(--sf-paper);box-shadow:0 8px 18px #1e2d4306}
.offline-page .sf-cases-v54 .sf-case h3,.offline-page .sf-cases-v54 .sf-case dt{color:var(--sf-blue)}
.offline-page .sf-cases-v54 .sf-case h3:after{background:var(--sf-line)}
.offline-page .sf-cases-v54 .sf-case dl>div{border-color:var(--sf-line)}
.offline-page .sf-cases-v54 .sf-case dd{color:var(--sf-ink)}
.offline-page .sf-cases-v54 :is(.sf-asof,.sf-source){color:var(--sf-muted)}
.offline-page .sf-process-step{color:var(--sf-blue)}
.offline-page .sf-process-stages>li:nth-child(2){background:var(--sf-soft)}
.offline-page .off-faq-v47 .sf-section-head .sf-eyebrow{background:var(--sf-blue);color:var(--sf-paper)}
.offline-page .off-faq-v47 .off-faq-item{background:var(--sf-paper);border-color:var(--sf-line)}
.offline-page .off-faq-v47 .off-faq-item[open]{border-color:#b7ccf5}
.offline-page .off-faq-v47 .off-faq-item summary{color:var(--sf-ink)}
.offline-page .off-faq-v47 .off-faq-item summary>i{background:var(--sf-blue)}
.offline-page .off-faq-v47 .off-faq-item summary>i:before,.offline-page .off-faq-v47 .off-faq-item summary>i:after{background:var(--sf-paper)}
.offline-page .off-faq-v47 .off-answer{color:var(--sf-ink)}
.offline-page .off-faq-v47 .off-answer p{border-color:var(--sf-line)}
.offline-page .off-faq-v47 .off-faq-item[open] summary{background:var(--sf-paper)}
/* One strong blue close to finish the page and give the contact action priority. */
.offline-page .sf-contact-v44{background:var(--sf-blue)}
.offline-page .sf-contact-v44:before{background:#ffffff0d}
.offline-page .sf-contact-v44:after{background:#ffffff0d;box-shadow:-350px 90px 0 30px #ffffff08}
.offline-page .sf-contact-v44 :is(.sf-contact-brand,.sf-contact-brand span,h2){color:var(--sf-paper)}
.offline-page .sf-contact-v44 .sf-contact-description{color:#e8f0ff}
.offline-page .sf-contact-v44 .sf-button{background:var(--sf-paper);color:var(--sf-blue);box-shadow:none}
.offline-page .sf-contact-v44 .sf-button:hover{background:var(--sf-tint)}
.offline-page .sf-contact-v44 .sf-button:focus-visible{outline-color:var(--sf-paper)}
@media(hover:hover){.offline-page .off-faq-v47 .off-faq-item summary:hover{background:var(--sf-soft)}}
@media(max-width:700px){.offline-page .sf-network-scale{box-shadow:0 0 0 6px var(--sf-tint)}}
.offline-page main .sf-contact-v44 h2{color:var(--sf-paper)}
.offline-page main .sf-contact-v44 .sf-contact-description{color:#e8f0ff}
.offline-page .footer-bottom{border-color:var(--sf-line)}

/* v58: render the sales-material photo as a standalone image, matching other case photos. */
.offline-page #case-takasago .sf-case-photo-v58{aspect-ratio:1.82}
.offline-page #case-takasago .sf-case-photo-v58>img{position:static;width:100%;max-width:100%;height:100%;left:auto;top:auto;object-fit:cover;object-position:center 45%}
