/* Tech Partner: restrained editorial layout, shared by both languages. */
.studio-techpartner { padding: 0 0 88px; }
.studio-works .business-type, .studio-techpartner .business-type, .partner-page .business-type { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 22px; color: #65655c; font-size: 13px; line-height: 1.5; }
.studio-works .business-type span, .studio-techpartner .business-type span, .partner-page .business-type span { display: inline-block; padding: 5px 9px 4px; border: 1px solid #a9432d; color: #8d3827; font: 700 11px/1.2 "Source Sans Pro", sans-serif; letter-spacing: .11em; }
.techpartner-wordmark { margin: 0 0 24px; color: #242421; font: 700 clamp(32px, 3.2vw, 48px)/.95 "Montserrat", "Source Sans Pro", Arial, sans-serif; letter-spacing: -.065em; }
.techpartner-wordmark > span { color: #a9432d; }
.techpartner-wordmark-large { margin-bottom: 34px; font-size: clamp(44px, 5.4vw, 76px); }
.partner-summary { display: grid; grid-template-columns: 1fr 1.1fr; gap: 72px; align-items: center; }
.studio-techpartner .partner-summary { border-top: 1px solid #deded6; padding-top: 64px; }
.studio-techpartner h2, .partner-page h2 { margin: 0; font-size: clamp(28px, 2.6vw, 40px); line-height: 1.65; letter-spacing: .015em; }
.partner-summary-copy > p { margin: 0 0 24px; line-height: 2; }
.partner-summary-copy > p strong, .partner-intro strong { display: block; margin-bottom: 8px; color: #242421; }
.partner-link { display: inline-flex; gap: 32px; align-items: center; padding: 10px 0; border-bottom: 1px solid #55554c; font-size: 15px; font-weight: 500; }
.partner-link:hover { text-decoration: none; color: #a9432d; border-color: currentColor; }
.partner-page .partner-hero { margin-top: 80px; padding: 48px 0 88px; background: #f6f5f1; }
.partner-back { display: inline-block; margin-bottom: 52px; font-size: 13px; color: #65655c !important; }
.partner-hero h1 { margin: 0 0 30px; font-size: clamp(40px, 5vw, 70px); font-weight: 700; line-height: 1.45; letter-spacing: .015em; }
.partner-intro { max-width: 660px; font-size: 18px; line-height: 2; margin-bottom: 24px; }
.partner-support, .partner-approach { padding: 96px 0; }
.partner-services { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; margin-top: 56px; }
.partner-service { border-top: 1px solid #cfcfc5; padding-top: 24px; }
.partner-number { font: 28px/1.2 "Source Sans Pro", sans-serif; color: #77776a; }
.partner-service-label { font-size: 13px; margin: 24px 0 12px; color: #66665e; }
.partner-service h3 { margin: 0 0 20px; font-size: 22px; font-weight: 700; line-height: 1.6; }
.partner-service > p:last-child { font-size: 15px; line-height: 2; margin-bottom: 0; }
.partner-approach { background: #f6f5f1; }
.partner-approach-layout { display: grid; grid-template-columns: 1fr 1.1fr; gap: 88px; }
.partner-approach h2 { margin-bottom: 24px; }
.partner-approach-layout > div > p:last-child { line-height: 2; }
.partner-steps { list-style: none; counter-reset: step; padding: 0; margin: 0; }
.partner-steps li { position: relative; counter-increment: step; padding: 0 0 24px 48px; margin-bottom: 24px; border-bottom: 1px solid #d9d9ce; }
.partner-steps li:last-child { margin-bottom: 0; padding-bottom: 0; border: 0; }
.partner-steps li::before { content: "0" counter(step); position: absolute; left: 0; top: 0; font: 20px/1.5 "Source Sans Pro", sans-serif; color: #77776a; }
.partner-steps h3 { margin: 0 0 10px; font-size: 20px; line-height: 1.5; font-weight: 700; }
.partner-steps p { margin: 0; font-size: 15px; line-height: 2; }
.partner-invitation { padding: 88px 0 0; }
.partner-invitation p { margin: 0; line-height: 2; }
html[lang="en"] .studio-techpartner h2, html[lang="en"] .partner-page h2 { font-size: clamp(32px, 3vw, 46px); line-height: 1.25; letter-spacing: -.02em; }
html[lang="en"] .partner-hero h1 { font-size: clamp(48px, 6vw, 88px); line-height: 1.1; letter-spacing: -.025em; }
html[lang="en"] .partner-intro { font-size: 22px; line-height: 1.65; }
html[lang="en"] .partner-service > p:last-child, html[lang="en"] .partner-steps p { font-size: 18px; line-height: 1.75; }
html[lang="en"] .partner-service h3 { font-size: 28px; }
@media (max-width: 991px) { .partner-summary, .partner-approach-layout { gap: 36px; } .partner-services { gap: 24px; } }
@media (max-width: 767px) {
 .studio-techpartner { padding-bottom: 56px; }
 .studio-techpartner .partner-summary { padding-top: 40px; }
 .partner-summary, .partner-approach-layout, .partner-services { grid-template-columns: minmax(0, 1fr); gap: 28px; }
 .partner-page .partner-hero { margin-top: 68px; padding: 28px 0 56px; }
 .partner-back { margin-bottom: 36px; }
 .studio-works .business-type, .studio-techpartner .business-type, .partner-page .business-type { margin-bottom: 18px; }
 .techpartner-wordmark { font-size: 34px; margin-bottom: 20px; }
 .techpartner-wordmark-large { font-size: 46px; margin-bottom: 28px; }
 .partner-hero h1 { font-size: 38px; }
 .partner-intro { font-size: 16px; }
 .partner-support, .partner-approach { padding: 56px 0; }
 .partner-services { margin-top: 36px; gap: 32px; }
 .partner-service-label { margin-top: 16px; }
 .partner-service h3 { margin-bottom: 12px; }
 .partner-invitation { padding-top: 56px; }
 .partner-link { gap: 20px; }
}
