/* Copy and Studio compositions. All colours inherit the shared brand roles. */
.content-split { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(28px,6vw,100px); align-items: start; }
.content-split > * { min-width: 0; }
.content-split p { max-width: 58ch; line-height: var(--leading-body); }
.content-link { display: inline-block; margin-top: 20px; text-decoration: underline; text-underline-offset: 5px; font-weight: 600; }
body.studio-home .about__intro .content-link--menu { color: var(--coral); }
body.studio-home .audit-intro { background: var(--surface-soft); color: var(--ink); }
.audit-intro .section-title { max-width: 17ch; }
.audit-intro .section-title span { color: var(--coral); }
.audit-intro p { color: var(--reading); margin: 0 0 20px; }
.review-offer { padding-block: var(--section-space); background: var(--surface-soft); }
.review-offer h2 { margin: 0; font-size: var(--type-h2); }
.review-offer .offer-name { margin: 20px 0 0; font-weight: 600; color: var(--reading); }
.review-offer .shiny-button { margin-top: 12px; }
.review-offer p { color: var(--reading); }
.review-offer p a { text-decoration: underline; text-underline-offset: 4px; }
.case-story p + p { margin-top: 20px; }
.case-story .case-related { margin-top: 24px; display: inline-block; }
#mast-nav a[aria-current="page"] { text-decoration: none!important; }
#mast-nav > a[aria-current="page"]::before {
 content: ''; position: absolute; inset: 2px -16px; z-index: -1; border-radius: 26px;
 background: linear-gradient(180deg,color-mix(in srgb,var(--white) 18%,transparent),transparent 55%),color-mix(in srgb,var(--coral) 23%,transparent);
 box-shadow: inset 0 1px 2px color-mix(in srgb,var(--white) 38%,transparent);
 pointer-events: none;
}
#mast-nav .mast-services a[aria-current="page"] { border-radius: 16px; background: color-mix(in srgb,var(--coral) 20%,transparent); }
/* A personal editorial opening, paired with the approved founder image. */
.studio-hero { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0,1.25fr) minmax(0,.9fr); gap: 3vw; padding: clamp(48px,6vw,100px) var(--page-edge) 0; max-width: 1660px; margin: auto; align-items: center; min-height: min(860px,calc(100svh - 76px)); }
.studio-hero__copy { position: relative; z-index: 1; padding-bottom: clamp(42px,6vw,90px); }
.studio-hero h1 { font-size: clamp(42px,5.5vw,88px); line-height: var(--leading-display); margin: 0 0 30px; letter-spacing: var(--tracking-display); text-wrap: initial; }
.studio-hero h1 em { font-style: normal; }
.studio-hero p { max-width: 49ch; font-size: var(--type-body); color: var(--reading); margin: 0 0 18px; }
.studio-hero .shiny-button { margin-top: 14px; }
.studio-hero__portrait { margin: 0; align-self: end; position: relative; }
.studio-hero__portrait img { width: 100%; height: min(75svh,820px); object-fit: contain; object-position: center bottom; }
.studio-section { padding: var(--section-space) var(--page-edge); }
.studio-section__inner { width: min(1440px,100%); margin-inline: auto; }
.studio-section h2 { font-size: var(--type-h2); margin: 0 0 28px; }
.studio-section h3 { font-size: var(--type-h3); }
.studio-section p { margin: 0 0 20px; color: var(--reading); }
.studio-art { background: var(--ink); color: var(--frost); --heading-accent: var(--coral); --focus: var(--mist); }
.studio-art p { color: var(--text-muted-dark); }
.studio-desk-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; align-self: center; }
.studio-desk-pair figure { margin: 0; }
.studio-desk-pair img { aspect-ratio: .8; object-fit: cover; border-radius: 6px; }
.studio-desk-pair figcaption { margin-top: 14px; color: var(--text-muted-dark); font-size: 13px; line-height: 1.5; }
.studio-art .studio-statement { margin: clamp(48px,8vw,110px) 0 28px; font-size: clamp(32px,4.4vw,66px); max-width: 24ch; }
.studio-statement em { font-style: normal; }
.studio-art__note { max-width: 65ch; }
.studio-art__note a { color: var(--frost); text-decoration: underline; text-underline-offset: 4px; }
.studio-client-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px; margin-top: 40px; }
.studio-client-grid > a { background: var(--surface-soft); padding: clamp(26px,3.2vw,48px); border-radius: 6px; display: flex; flex-direction: column; align-items: start; transition: background .3s ease,box-shadow .3s ease; }
.studio-client-grid h3 { margin: 0 0 16px; }
.studio-client-grid p { flex: 1; }
.studio-client-grid span { color: var(--reading); font-size: 14px; text-decoration: underline; text-underline-offset: 5px; }
.studio-client-grid > a:is(:hover,:focus-visible) { background: var(--surface-card); box-shadow: inset 0 0 0 2px var(--coral); }
.studio-experience__note { margin-top: 44px; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px,6vw,100px); }
.studio-experience__note h3 { margin: 0; }
.studio-experience__note p { font-size: 16px; }
.studio-principles { background: var(--surface-soft); }
.studio-principles__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(24px,4vw,64px); margin-top: 44px; }
.studio-principles__grid article { border-top: 1px solid var(--line); padding-top: 22px; }
.studio-principles__grid article > span { font-family: var(--tech); font-size: 11px; color: var(--reading); }
.studio-principles__grid h3 { margin: 24px 0 14px; }
.studio-service-links { display: flex; flex-wrap: wrap; gap: 14px 28px; margin-top: 36px; }
.studio-service-links a { color: var(--reading); text-decoration: underline; text-underline-offset: 5px; font-size: 15px; }
.studio-languages { margin: 30px 0 0; }
.studio-languages > div { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid var(--line); padding: 16px 0; }
.studio-languages dt { font-weight: 600; }
.studio-languages dd { margin: 0; color: var(--reading); }
.studio-closing { padding: var(--section-space) var(--page-edge); color: var(--frost); background: var(--ink); --heading-accent: var(--coral); }
.studio-closing h2 { font-size: clamp(40px,5.6vw,86px); line-height: var(--leading-display); margin: 0 0 clamp(32px,5vw,74px); }
.studio-closing h2 em { font-style: normal; }
.studio-closing p { color: var(--text-muted-dark); margin: 0; }
.studio-closing .content-split { align-items: center; }
.studio-closing .content-split > div { justify-self: end; }
.studio-page .cinematic-footer { position: relative; margin-top: -1px; padding: 0; }
.studio-page .cinematic-footer .film-card { min-height: min(760px,90svh); }
@media(max-width:1000px) {
 .studio-hero { grid-template-columns: 1.2fr .8fr; gap: 0; }
 .studio-hero h1 { font-size: clamp(40px,5.8vw,65px); }
 .studio-desk-pair { grid-template-columns: 1fr; }
 .studio-desk-pair figure:last-child { display: none; }
 .studio-principles__grid { gap: 24px; }
}
@media(max-width:720px) {
 .content-split,.studio-experience__note { grid-template-columns: 1fr; gap: 28px; }
 .studio-hero { grid-template-columns: 1fr; padding-top: 44px; min-height: 0; }
 .studio-hero__copy { padding-bottom: 0; }
 .studio-hero h1 { font-size: clamp(40px,10.5vw,62px); margin-bottom: 24px; }
 .studio-hero__portrait { width: 85%; justify-self: end; margin-top: 24px; }
 .studio-hero__portrait img { height: 460px; max-height: 65svh; }
 .studio-desk-pair { grid-template-columns: 1fr 1fr; }
 .studio-desk-pair figure:last-child { display: block; }
 .studio-client-grid,.studio-principles__grid { grid-template-columns: 1fr; }
 .studio-experience__note { margin-top: 36px; }
 .studio-closing .content-split > div { justify-self: start; }
 .studio-service-links { flex-direction: column; }
 .review-offer .shiny-button { white-space: normal; }
}
@media(prefers-reduced-motion:reduce) {
 .studio-client-grid > a { transition: none; }
}
/* Keep intrinsic image attributes from stretching the editorial image pair. */
.studio-desk-pair img { height: auto; aspect-ratio: .85; }
body.studio-page { background: var(--ink); }
.studio-page main { background: var(--frost); }
/* The closing inquiry is one compact, centered editorial composition. */
:is(.studio-home,.service-page) .contact-stage .contact {
  display: grid; align-content: center; padding-block: clamp(90px,12svh,150px);
  min-height: 85svh;
}
:is(.studio-home,.service-page) .contact > .container { width: 100%; text-align: center; }
:is(.studio-home,.service-page) .contact .contact__title { max-width: 18ch; margin: 0 auto; }
:is(.studio-home,.service-page) .contact .contact__bottom {
  flex-direction: column; align-items: center; justify-content: start;
  gap: 28px; margin: 30px auto 0; padding: 0; max-width: 54ch;
}
:is(.studio-home,.service-page) .contact .contact__bottom p { margin: 0; max-width: 48ch; }
@media(max-width:720px) {
 :is(.studio-home,.service-page) .contact-stage .contact { min-height: 76svh; padding-block: 90px; }
 :is(.studio-home,.service-page) .contact .contact__bottom { gap: 24px; margin-top: 26px; }
}
/* The homepage Studio link shares the navigation's typography and liquid material. */
.content-link-menu { display: inline-block; position: relative; isolation: isolate; max-width: 100%; margin-top: 20px; }
.content-link-menu .content-link--menu {
 display: block; position: relative; z-index: 1; min-height: 44px; margin: 0; padding: 12px 0;
 font-family: var(--body); font-size: var(--type-ui); font-weight: 500; line-height: 1.4;
 letter-spacing: .005em; text-decoration: none; border-radius: 26px; transition: color .28s ease;
}
.content-link-menu > .nav-liquid { display: block; }
.content-link-menu .content-link--menu:is(:hover,:focus-visible) { text-decoration: none; }
@media(hover:none) {
 .content-link-menu .content-link--menu:active { background: color-mix(in srgb,var(--mist) 16%,transparent); }
}
@media(prefers-reduced-motion:reduce) { .content-link-menu .content-link--menu { transition: none; } }
