/* Imaginnov company pages: the approved warm, quiet studio direction. */
.studio-page { --side: clamp(24px, 4vw, 72px); --container: 1560px; --section-y: clamp(64px, 6vw, 96px); background: var(--warm-white); }
.studio-page .header-inner { height: 96px; grid-template-columns: minmax(0,1fr) auto auto; gap: 48px; }
.studio-page .brand-logo { height: 34px; }
.studio-page .nav-links { color: var(--ink); font-weight: 600; gap: 34px; }
.studio-page .header-cta { background: var(--ink); color: white; border-color: var(--ink); }
.studio-page .eyebrow { font-size: 14px; line-height: 1.4; letter-spacing: .055em; margin-bottom: 26px; }
.studio-page main .reveal { opacity: 1; transform: none; }
.studio-page main h1 { font-size: clamp(58px, 6.5vw, 100px); font-weight: 700; letter-spacing: -.06em; line-height: .98; max-width: 13ch; }
.studio-page main h2 { font-size: clamp(32px, 3.4vw, 50px); letter-spacing: -.04em; line-height: 1.08; }
.studio-page .button { min-height: 54px; padding-inline: 28px; font-size: 16px; }
.studio-page main > .section { padding-block: 80px; }
.studio-page .app-hero, .studio-page .ip-hero, .studio-page .fm-hero { min-height: 0; padding-block: 72px 88px; }
.studio-page .app-hero__layout, .studio-page .ip-hero { grid-template-columns: minmax(0,.83fr) minmax(0,1fr); gap: clamp(40px,6.7vw,100px); }
.studio-page .app-hero__body, .studio-page .ip-hero__body, .studio-page .fm-hero__intro p { font-size: 21px; line-height: 1.6; max-width: 40ch; margin-top: 28px; }
.studio-page .app-hero__showcase, .studio-page .app-visual, .studio-page .ip-visual { border-radius: 24px; box-shadow: none; }
.studio-page .app-hero__showcase { max-width: none; }
.studio-page .app-capabilities, .studio-page .ip-protected, .studio-page .ip-what { gap: 64px; }
.studio-page .app-process__steps, .studio-page .ip-process__steps { margin-top: 40px; }
.studio-page .fm-hero { grid-template-columns: 1.15fr 1fr; align-items: center; }
.studio-page .fm-hero__heading h1 { max-width: 12ch; }
.studio-page .fm-section-intro { margin-bottom: 40px; }
.studio-page .fm-frame { border-radius: 24px; }
.studio-page .fm-project__meta h3 { font-size: 28px; }
.studio-page .gd-showcase { min-height: 0; padding-block: 64px 80px; }
.studio-page .gd-showcase__intro { min-height: 0; grid-template-columns: minmax(0,.83fr) minmax(0,1fr); column-gap: clamp(40px,6.7vw,100px); }
.studio-page .gd-showcase__viewport { width: 100%; align-self: center; }
.studio-page .gd-showcase__summary { font-size: 20px; line-height: 1.6; max-width: 34ch; }
.studio-page .gd-showcase__meta { margin-top: 32px; }
.studio-page .gd-showcase__meta h2 { font-size: 28px; }
.studio-page .gd-showcase__stage { border-radius: 24px; }
.studio-page .gd-web-project__intro { gap: 64px; }
.studio-page.about-editorial-page main .section { padding-block: 80px !important; }
.studio-page .about-hero { min-height: 0; align-items: center; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 80px; }
.studio-page .about-hero__heading, .studio-page .about-hero__intro { grid-column: auto; }
.studio-page .about-hero__intro { align-self: center; max-width: 460px; }
.studio-page .about-hero__intro p { font-size: 21px; }
.studio-page .about-company, .studio-page .about-international { grid-template-columns: 1fr 1fr; gap: 80px; }
.studio-page .about-company > *, .studio-page .about-international > * { grid-column: auto; }
.studio-page .about-work__item figure { border-radius: 20px; overflow: hidden; }
.studio-page .about-work__item h3 { font-size: 24px; }
.studio-page .about-thinking__intro, .studio-page .about-cta { gap: 48px; }
.studio-page .contact-layout { padding-block: 72px 96px; gap: 80px; grid-template-columns: minmax(0,.85fr) minmax(0,1fr); }
.studio-page .contact-title { max-width: none; }
.studio-page .contact-intro { font-size: 21px; margin-top: 28px; max-width: 32ch; }
.studio-page .contact-details { margin-top: 48px; }
.studio-page .contact-form-column { background: #f3f0ea; border-radius: 24px; padding: 32px; }
.studio-page .contact-form input:not([type="checkbox"]), .studio-page .contact-form select, .studio-page .contact-form textarea { background: var(--warm-white); border-radius: 12px; }
.studio-page .legal-hero { grid-template-columns: 1fr 1fr; align-items: center; gap: 80px; padding-block: 72px; }
.studio-page .legal-hero h1 { font-size: clamp(54px,6vw,86px); }
.studio-page .legal-summary { font-size: 20px; line-height: 1.65; }
.studio-page .legal-updated { color: var(--text-secondary); }
.studio-page .legal-layout { grid-template-columns: 260px minmax(0,760px); gap: 80px; padding-block: 56px 96px; }
.studio-page .legal-toc { top: 120px; max-height: calc(100svh - 144px); overflow-y: auto; }
.studio-page .legal-toc a { color: var(--text-secondary); }
.studio-page .legal-section { padding-bottom: 40px; scroll-margin-top: 120px; }
.studio-page .legal-section + .legal-section { padding-top: 40px; }
.studio-page .legal-section h2 { font-size: 28px; max-width: none; line-height: 1.2; }
.studio-page .legal-section p, .studio-page .legal-section li { font-size: 17px; line-height: 1.75; max-width: 65ch; }
.studio-page .legal-section p, .studio-page .legal-section ul { margin-top: 18px; }
@media(max-width:1080px) {
 .studio-page .header-inner { gap: 24px; }
 .studio-page .app-hero__layout, .studio-page .ip-hero, .studio-page .fm-hero, .studio-page .about-hero, .studio-page .about-company, .studio-page .about-international { gap: 36px; }
 .studio-page .contact-layout { gap: 36px; }
 .studio-page .contact-form-column { padding: 24px; }
 .studio-page .legal-layout { gap: 40px; grid-template-columns: 220px minmax(0,1fr); }
}
@media(max-width:900px) {
 .studio-page .legal-hero, .studio-page .legal-layout { grid-template-columns: 1fr; gap: 32px; }
 .studio-page .contact-layout { grid-template-columns: 1fr; }
 .studio-page .contact-copy { max-width: 620px; }
 .studio-page .contact-form-column { max-width: none; }
}
@media(max-width:760px) {
 .studio-page .header-inner { height: 76px; }
 .studio-page .brand-logo { height: 27px; }
 .studio-page .eyebrow { font-size: 12px; margin-bottom: 22px; }
 .studio-page main h1 { font-size: clamp(48px,12.6vw,72px); line-height: 1; }
 .studio-page main h2 { font-size: 34px; }
 .studio-page main > .section, .studio-page.about-editorial-page main .section { padding-block: 48px !important; }
 .studio-page .app-hero__layout, .studio-page .ip-hero, .studio-page .fm-hero, .studio-page .about-hero, .studio-page .about-company, .studio-page .about-international { grid-template-columns: 1fr; gap: 32px; }
 .studio-page .app-hero__body, .studio-page .ip-hero__body, .studio-page .fm-hero__intro p, .studio-page .about-hero__intro p, .studio-page .contact-intro { font-size: 18px; }
 .studio-page .fm-hero__intro p { margin-top: 0; }
 .studio-page .gd-showcase__intro { display: flex; flex-direction: column; gap: 0; }
 .studio-page .gd-showcase__summary { font-size: 18px; margin-top: 24px; }
 .studio-page .gd-showcase__viewport { margin-top: 32px; width: 100%; }
 .studio-page .gd-showcase__meta { margin-top: 24px; }
 .studio-page .gd-showcase__counter { margin-top: 16px; }
 .studio-page .gd-showcase__meta h2 { font-size: 26px; }
 .studio-page .app-capabilities, .studio-page .ip-protected, .studio-page .ip-what { gap: 32px; }
 .studio-page .contact-form-column { padding: 22px; border-radius: 20px; }
 .studio-page .contact-details > div { grid-template-columns: 82px minmax(0,1fr); gap: 12px; }
 .studio-page .legal-summary { font-size: 18px; }
 .studio-page .legal-section h2 { font-size: 25px; }
 .studio-page .legal-section p, .studio-page .legal-section li { font-size: 16px; }
 .studio-page .legal-section { scroll-margin-top: 96px; }
}

.studio-page.service-graphic .gd-showcase h1 { max-width: none; font-size: clamp(58px,6.5vw,100px); line-height: .98; }
.studio-page .gd-showcase__nav--previous { left: 12px; }
.studio-page .gd-showcase__nav--next { right: 12px; }
.studio-page main h2 { max-width: 22ch; }
@media(max-width:760px) {
 .studio-page.service-graphic .gd-showcase h1 { font-size: clamp(48px,12.6vw,72px); }
}
