/* Figma 71:9. The existing desktop frame owns scaling; this file owns local geometry. */
.studio-page .screen { position:relative; background:var(--color-ink); margin-bottom:0; }
.studio-page .topbar::after { content:""; position:absolute; left:var(--page-gutter); right:var(--page-gutter); bottom:0; height:1px; background:var(--color-border); }
.studio-page.hero-header:not(.inner-menu-open) .topbar::after { background:var(--color-studio-rule); }
.studio-page .brand-line,.studio-page .brand-sub { display:none; }
.studio-page .brand { min-height:44px; }
.studio-page.hero-header:not(.inner-menu-open) .topbar { background:transparent; color:var(--color-paper); }
.studio-page.hero-header:not(.inner-menu-open) .topbar::before {
  content:none;
}
.studio-page.hero-header:not(.inner-menu-open) .brand-word > span { color:var(--color-paper); }
.studio-page.hero-header:not(.inner-menu-open) .burger { color:var(--color-paper); }
.studio-page.hero-header:not(.inner-menu-open) .burger span { background:var(--color-paper); }
.studio-page.hero-header:not(.inner-menu-open) .top-request[data-ui]:not(:hover):not(:focus-visible) { background:var(--color-paper) !important; color:var(--color-ink) !important; }
.studio-hero { position:relative; z-index:1; isolation:isolate; overflow:hidden; background:transparent; color:var(--color-paper); border-bottom:1px solid var(--color-studio-rule); }
.studio-mesh { position:absolute; inset:0; width:100%; height:100%; z-index:0; pointer-events:none; opacity:.28; filter:grayscale(1); }
.studio-bottom-line img,.studio-side-line img,.studio-curve { filter:brightness(0) invert(1); opacity:.22; }
.studio-columns { display:grid; gap:var(--space-40); padding:var(--space-32) var(--page-gutter) 0; }
.studio-story { position:relative; min-width:0; }
.studio-story h1 { margin:0; font-weight:400; }
.studio-desktop-break { display:none; }
.studio-description { max-width:690px; margin:var(--space-32) 0 0; }
@keyframes studio-text-reveal {
  from { opacity:0; filter:blur(8px); transform:translateY(6px); }
  to { opacity:1; filter:blur(0); transform:translateY(0); }
}
@media (prefers-reduced-motion:no-preference) {
  .studio-story h1 { animation:studio-text-reveal 2000ms cubic-bezier(.22,.5,.3,1) 160ms backwards; }
  .studio-description { animation:studio-text-reveal 2000ms cubic-bezier(.22,.5,.3,1) 480ms backwards; }
}
.studio-actions { display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-24) var(--space-32); margin-top:var(--space-24); }
.studio-hero .studio-request { position:relative; display:inline-flex; align-items:center; justify-content:center; height:auto; width:auto; min-height:62px; padding:var(--space-16) var(--space-32); border:1px solid #ffffff66; color:var(--color-paper); text-decoration:none; border-radius:0; }
.studio-consultation { display:flex; align-items:center; gap:10px; }
.studio-consultation > span { font-size:var(--text-14); line-height:1.3; }
.studio-faces { display:flex; flex:none; padding-left:0; }
.studio-faces img { display:block; width:40px; height:40px; object-fit:cover; border-radius:50%; }
.studio-faces img + img { margin-left:-19px; }
.studio-faces img:nth-child(1) { z-index:5; }
.studio-faces img:nth-child(2) { z-index:4; }
.studio-faces img:nth-child(3) { z-index:3; }
.studio-faces img:nth-child(4) { z-index:2; }
.studio-faces img:nth-child(5) { z-index:1; }
.studio-bottom-line,.studio-side-line,.studio-curve { display:none; }
.studio-case { display:flex; flex-direction:column; gap:var(--space-24); min-width:0; margin:0; padding:var(--space-20); background:var(--color-paper); color:var(--color-ink); }
.studio-case-heading { display:flex; align-items:center; justify-content:space-between; gap:var(--space-12); font-size:var(--text-16); line-height:1.4; }
.studio-case-heading > span:first-child { display:flex; align-items:center; gap:var(--space-8); }
.studio-case-heading img { flex:none; display:block; }
.studio-stars { display:none !important; }
.studio-cpl { display:flex; flex-direction:column; gap:var(--space-12); height:265px; margin:0; padding:var(--space-20); color:var(--color-paper); background:var(--color-accent); }
.studio-cpl figcaption { font-size:var(--text-18); line-height:1.2; }
.studio-cpl-columns { flex:1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-16); min-height:0; }
.studio-cpl-columns > div { display:grid; align-content:end; gap:var(--space-8); grid-template-rows:auto auto auto; }
.studio-cpl strong { font-size:var(--type-result); line-height:1.1; font-weight:400; white-space:nowrap; }
.studio-cpl-bar { display:block; height:120px; background:var(--color-paper); }
.studio-cpl-plan .studio-cpl-bar { opacity:.4; }
.studio-cpl-fact .studio-cpl-bar { height:32.136px; }
.studio-cpl-columns > div > span:last-child { font-size:var(--text-14); }
.studio-case-copy { display:grid; gap:var(--space-12); }
.studio-tags { display:flex; gap:var(--space-4); font-size:var(--text-14); }
.studio-tags span { border:1px solid var(--color-border); padding:3px 7px; }
.studio-case-copy h2 { margin:0; font-size:var(--type-result); line-height:1.25; font-weight:400; }
.studio-case-copy p { margin:0; font-size:var(--text-16); color:var(--color-steel); line-height:1.45; }
.studio-wordmark { margin:var(--space-32) 6px 0; }
.studio-wordmark svg { display:block; width:100%; height:auto; fill:var(--color-studio-wordmark); font-family:var(--font-family); font-size:280.437px; }
.studio-page .screen + .studio-about { margin-top:var(--space-80); }
.studio-about.about-section { gap:var(--space-32); }
.studio-founder-crop { position:relative; overflow:hidden; aspect-ratio:482/791; }
.studio-about .about-founder { display:block; }
.studio-about .about-founder img { position:absolute; width:168.52%; height:154.03%; max-width:none; max-height:none; left:-34.26%; top:-5.48%; object-fit:cover; border-radius:0; }
.studio-about .about-founder figcaption { margin-top:10px; }
.studio-about .about-story { grid-row:1; }
.studio-quote { display:block; margin-bottom:var(--space-16); }
.studio-about .about-opening { display:block; margin-bottom:var(--space-8); }
.studio-about .about-body { display:block; width:100%; margin:0; }
@media(max-width:599px) {
  .studio-about .about-founder { width:min(100%,260px); }
  .studio-founder-crop { aspect-ratio:3/4; }
  .studio-about .about-founder img { height:180%; top:-6.4%; }
  .studio-quote { width:32px; height:auto; margin-bottom:var(--space-24); }
  .studio-about.about-section { gap:var(--space-40); }
}
@media(min-width:600px) {
  .studio-columns { padding-top:var(--space-48); }
  .studio-case { max-width:603px; padding:27px; }
  .studio-stars { display:block !important; }
  .studio-faces img { width:56px; height:56px; }
  .studio-faces img + img { margin-left:-25.5px; }
  .studio-consultation > span { font-size:var(--text-16); }
}
@media(min-width:1100px) {
  .studio-columns { grid-template-columns:minmax(0,1044fr) minmax(0,603fr); gap:23px; padding-top:0; }
  .studio-story { min-height:653px; padding-top:80px; }
  .studio-description { margin-top:180px; }
  .studio-case { margin-top:20px; min-height:633px; justify-content:space-between; gap:var(--space-24); padding:27.08px 27.08px 23.695px; }
  .studio-case-heading { min-height:32px; font-size:var(--text-20); }
  .studio-case-copy { gap:11px; }
  .studio-case-copy h2 { font-size:var(--text-24); line-height:30px; }
  .studio-case-copy .case-read { min-height:28px; }
  .studio-tags { font-size:var(--text-16); line-height:21px; }
  .studio-wordmark { margin-top:0; height:auto; }
  .studio-about.about-section { margin-top:180px; grid-template-columns:minmax(0,482fr) minmax(0,1167fr); column-gap:21px; row-gap:0; grid-template-rows:532px 271px 247px; }
  .studio-about .about-founder { grid-column:1; grid-row:1/3; }
  .studio-founder-crop { height:791px; aspect-ratio:auto; }
  .studio-about .about-story { grid-column:2; grid-row:1; }
  .studio-quote { position:absolute; left:0; top:0; margin:0; }
  .studio-about .about-opening { margin-bottom:0; text-align:right; }
  .studio-about .about-facts { grid-column:2; grid-row:2/4; display:grid; grid-template-columns:minmax(0,305fr) minmax(0,478fr) minmax(0,384fr); grid-template-rows:271px 247px; gap:0; margin:0; }
  .studio-about .about-fact { display:block; padding:0; margin:0; justify-self:stretch; }
  .studio-about .about-fact--accent { grid-column:1/-1; grid-row:1; }
  .studio-about .about-fact--retention { grid-column:2; grid-row:2; }
  .studio-about .about-fact--team { grid-column:3; grid-row:2; }
  .studio-about .about-fact dt { width:auto; min-width:0; font-size:var(--text-20); line-height:1.2; }
  .studio-about .about-fact dd { margin-top:12px; }
  .studio-about .about-fact--accent dd { margin-top:24px; }
  .studio-about .about-fact--accent .about-number { top:0; }
}
@media(min-width:1400px) {
  .studio-story { --studio-curve-size:242.5px; }
  .studio-desktop-break { display:block; }
  .studio-description { margin-top:224px; }
  .studio-actions { margin-top:31px; }
  .studio-hero .studio-request { width:230px; min-height:64px; padding:18px 36px; }
  .studio-bottom-line { display:block; position:absolute; bottom:0; left:0; right:calc(var(--studio-curve-size) - .5px); overflow:hidden; }
  .studio-bottom-line img { display:block; width:100%; height:1px; }
  .studio-side-line { display:block; position:absolute; right:0; top:0; width:1px; height:410px; background:var(--color-studio-rule); }
  .studio-side-line img { display:none; }
  .studio-curve { display:block; position:absolute; right:0; top:410px; width:var(--studio-curve-size); pointer-events:none; }
  .studio-wordmark { height:230px; overflow:hidden; }
  .studio-page .screen + .studio-about { margin-top:276px; }
}
@media(min-width:1100px) {
  .studio-hero { display:flex; flex-direction:column; height:var(--studio-height); }
  .studio-columns { flex:1 0 auto; min-height:0; }
  .studio-story { display:flex; flex-direction:column; min-height:0; padding-top:var(--space-48); padding-bottom:var(--space-20); }
  .studio-description { margin-top:auto; padding-top:var(--space-32); }
  .studio-actions { margin-top:var(--space-24); }
  .studio-case { min-height:0; gap:var(--space-16); padding:clamp(16px,calc((var(--studio-height) - 430px) * .3),27px); }
  .studio-cpl { --studio-bar-height:clamp(16px,calc(var(--studio-height) - 570px),120px); height:clamp(155px,calc(var(--studio-height) - 430px),265px); }
  .studio-cpl-bar { height:var(--studio-bar-height); }
  .studio-cpl-fact .studio-cpl-bar { height:calc(var(--studio-bar-height) * .2678); }
  .studio-wordmark { flex:0 1 var(--studio-wordmark-height,230px); min-height:0; height:var(--studio-wordmark-height,230px); }
  .studio-wordmark svg { height:100%; }
  .studio-side-line { height:calc(100% - var(--studio-curve-size)); overflow:hidden; }
  .studio-curve { top:auto; bottom:0; }
}
