/* Shared visual rhythm for the public product story. */
.studio-page {
  --ink: #17243b;
  --blue: #2457d6;
  --muted: #526279;
  --border: #dce3eb;
  background: #f7f9fc;
  color: var(--ink);
}
.studio-page .wrap, .studio-page .studio-nav { max-width: 1184px; }
.studio-page .studio-nav { margin-top: 16px; padding: 12px 20px; border-radius: 16px; box-shadow: none; background: #fff; border-color: var(--border); }
.studio-page .studio-nav nav a { display: inline-flex; align-items: center; }
.studio-page .studio-signin { color: var(--blue); font-weight: 600; }
.studio-page h2 { font-size: clamp(2rem, 3.6vw, 2.75rem); letter-spacing: -.8px; line-height: 1.3; }
.studio-page h2 span, .studio-page .studio-intro h1 span { color: var(--muted); }
.studio-page .eyebrow { color: var(--blue); letter-spacing: 0; font-weight: 600; }
.studio-page .studio-intro { gap: 48px; padding-block: 80px 64px; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); }
.studio-page .studio-intro h1 { font-size: clamp(3rem, 5.1vw, 4.25rem); letter-spacing: -1.8px; line-height: 1.17; }
.studio-page .studio-status { display: none; }
.studio-page .studio-workspace-stage { padding: 0; border: 0; background: transparent; }
.studio-page .studio-workspace { border-radius: 20px; border-color: var(--border); box-shadow: 0 20px 48px #17243b0c; }
.studio-page .studio-windowbar { padding: 12px 20px; background: #fff; color: var(--muted); }
.studio-page .studio-window-mark { font-size: .75rem; letter-spacing: .08em; }
.studio-page .studio-workspace figcaption { padding: 12px 20px; color: var(--muted); }
.studio-page .studio-lead, .studio-page .section-intro, .studio-page .studio-feature-heading > p { color: var(--muted); line-height: 1.7; }
.studio-page .button { background: var(--blue); border-radius: 12px; gap: 20px; transition: background 180ms ease; }
.studio-page .button:hover { background: #1d46ae; transform: none; }
.studio-page .button.light { background: #fff; border: 1px solid var(--border); color: var(--ink); }
.studio-page .button.light:hover { border-color: #a8b9d2; background: #f7f9fc; }
.studio-page .studio-index { padding-block: 24px; border-color: var(--border); }
.studio-page .studio-index svg, .studio-page .studio-guides-topics svg { color: var(--blue); }
.studio-page .studio-index strong { font-size: 1.125rem; margin-bottom: 2px; }
.studio-page .studio-feature { padding-block: 96px; }
.studio-page .studio-feature-heading { gap: 64px; margin-bottom: 32px; }
.studio-page .studio-feature-heading > p { max-width: 480px; font-size: 1.1875rem; }
.studio-page .studio-demo { border-color: var(--border); border-radius: 20px; box-shadow: 0 16px 40px #17243b07; }
.studio-page .studio-demo-tabs { padding-inline: 16px; background: #fff; border-color: var(--border); }
.studio-page .studio-demo-tabs button { color: var(--muted); min-height: 64px; }
.studio-page .studio-demo-tabs button[aria-selected="true"] { color: var(--blue); border-color: var(--blue); background: #f2f6ff; }
.studio-page .studio-demo figcaption { color: var(--muted); padding: 16px 24px; border-color: var(--border); font-size: 1rem; line-height: 1.6; }
.studio-page .studio-notes { gap: 32px; padding-top: 32px; font-size: 1rem; }
.studio-page .studio-notes p { border-inline-start: 0; border-top: 1px solid var(--border); padding: 20px 0 0; color: var(--muted); }
.studio-page .studio-notes strong { font-size: 1.0625rem; color: var(--ink); margin-bottom: 4px; }
.studio-page .studio-mail { background: #edf2f8; color: var(--ink); border-block: 1px solid var(--border); padding-block: 96px; }
.studio-page .studio-mail .eyebrow { color: var(--blue); }
.studio-page .studio-mail h2 span, .studio-page .studio-mail .studio-feature-heading > p, .studio-page .studio-mail-note { color: var(--muted); }
.studio-page .studio-mail .studio-demo { border-color: var(--border); box-shadow: 0 16px 40px #17243b07; }
.studio-page .studio-mail-note { max-width: 720px; margin-top: 20px; font-size: 1rem; }
.studio-page .studio-bridge { padding-block: 80px 0; }
.studio-page .studio-bridge h2 { font-size: clamp(1.5rem, 2.6vw, 2rem); line-height: 1.5; }
.studio-page .section { padding-block: 80px; }
.studio-page #product .section-intro { max-width: 600px; }
.product-explorer { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 32px; margin-top: 40px; align-items: start; }
.studio-page .product-explorer .tabs { display: flex; flex-direction: column; gap: 0; padding: 0; margin: 0; width: auto; border-radius: 0; background: transparent; }
.studio-page .product-explorer .tabs button { text-align: start; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 20px; border: 0; border-inline-start: 2px solid var(--border); border-radius: 0; background: transparent; color: var(--muted); }
.studio-page .product-explorer .tabs button strong { font: 500 1.125rem/1.5 Heebo, sans-serif; color: var(--ink); }
.studio-page .product-explorer .tabs button span { font: 400 1rem/1.5 Assistant, sans-serif; }
.studio-page .product-explorer .tabs button[aria-selected="true"] { background: #edf3ff; border-color: var(--blue); box-shadow: none; }
.studio-page .product-explorer .tabs button[aria-selected="true"] strong { color: var(--blue); }
.studio-page .product-panel { display: flex; flex-direction: column; gap: 0; padding: 0; overflow: hidden; border: 1px solid var(--border); border-radius: 20px; background: #fff; box-shadow: 0 16px 40px #17243b07; }
.studio-page #screen-copy { padding: 24px 28px; width: 100%; min-height: 180px; }
.studio-page #screen-copy .step { display: none; }
.studio-page #screen-copy h3 { font-size: 1.5rem; line-height: 1.4; margin: 0 0 12px; letter-spacing: -.3px; }
.studio-page #screen-copy h3 br { display: none; }
.studio-page #screen-copy p { font-size: 1.0625rem; color: var(--muted); line-height: 1.65; max-width: 620px; }
.studio-page .product-panel .visual-preview { border-top: 1px solid var(--border); width: 100%; }
.studio-page .product-panel img { width: 100%; border: 0; border-radius: 0; }
.studio-page .video-section { padding-block: 80px; background: #edf2f8; border-block: 1px solid var(--border); }
.studio-page .video-grid > div:first-child { gap: 24px 64px; }
.studio-page .video-frame { border: 1px solid var(--border); border-radius: 20px; box-shadow: 0 16px 40px #17243b0a; }
.studio-page .video-start { background: #fff; color: var(--ink); border: 1px solid #dce3eb; border-radius: 12px; box-shadow: 0 6px 24px #17243b1f; }
.studio-page .video-description { border-color: var(--border); }
.studio-page .studio-guides-card { border-color: var(--border); border-radius: 20px; box-shadow: none; padding: 32px; gap: 48px; }
.studio-page .studio-guides-count { color: var(--muted); }
.studio-page .office-section { background: #fff; padding-block: 80px; border-block: 1px solid var(--border); }
.studio-page .office-grid { gap: 48px; }
.studio-page .office-section figure { border-color: var(--border); border-radius: 20px; box-shadow: 0 16px 40px #17243b07; }
.studio-page .office-section figcaption { font-size: .875rem; padding: 12px 20px; }
.studio-page .price-card { border: 1px solid var(--border); border-radius: 20px; box-shadow: none; padding: 36px; background: #fff; }
.studio-page .price strong, .studio-page .text-link { color: var(--blue); }
.studio-page .price-card .fine { color: var(--muted); }
.studio-page .stepper { border-color: var(--border); border-radius: 12px; background: #fff; }
.studio-page .stepper button { color: var(--ink); }
.studio-page .faqs details { border-color: var(--border); padding-block: 20px; }
.studio-page .faqs summary { font-size: 1.1875rem; }
.studio-page .faqs details[open] summary { color: var(--blue); }
.studio-page .closing { border-radius: 20px; background: var(--ink); padding: 64px 32px; margin-top: 16px; }
.studio-page .closing .button { background: #fff; color: var(--ink); }
.studio-page .closing .button:hover { background: #e7eefb; }
.studio-page .footer { border-color: var(--border); color: var(--muted); }
.studio-page :is(a,button,input,summary,[tabindex="0"]):focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; box-shadow: 0 0 0 4px #fff; }
.visual-preview { position: relative; display: block; width: 100%; border: 0; padding: 0; background: #f7f9fc; color: #17243b; cursor: zoom-in; font: inherit; text-align: start; }
.visual-preview img { width: 100%; height: auto; }
.visual-preview-hint { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 20px; color: #2457d6; background: #fff; border-top: 1px solid #dce3eb; font: 600 .875rem/1.5 Assistant, sans-serif; }
.visual-preview-hint svg { width: 18px; height: 18px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.visual-preview:hover .visual-preview-hint { background: #f2f6ff; }
.visual-dialog { width: min(1440px, calc(100% - 48px)); max-width: none; max-height: calc(100dvh - 48px); border: 1px solid #dce3eb; border-radius: 20px; padding: 0; background: #fff; color: #17243b; }
.visual-dialog::backdrop { background: #0d1729b8; }
.visual-dialog-header { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 12px 20px; border-bottom: 1px solid #dce3eb; background: #fff; }
.visual-dialog-header p { font: 600 1rem/1.5 Assistant,sans-serif; }
.visual-dialog-close { border: 1px solid #dce3eb; border-radius: 12px; padding: 8px 16px; min-height: 44px; background: #fff; color: #17243b; font: 600 1rem Assistant,sans-serif; }
.visual-dialog-body { overflow: auto; background: #f7f9fc; }
.visual-dialog-body img { width: 100%; min-width: 900px; max-width: none; height: auto; }
.visual-dialog-note { padding: 10px 20px; font-size: .875rem; color: #526279; border-bottom: 1px solid #dce3eb; }
@media(max-width: 900px) {
  .studio-page .studio-intro { grid-template-columns: 1fr; gap: 32px; padding-block: 56px; }
  .studio-page .studio-workspace-stage { max-width: none; }
  .product-explorer { grid-template-columns: 190px minmax(0,1fr); gap: 20px; }
  .studio-page .product-explorer .tabs button { padding: 18px 14px; }
  .studio-page #screen-copy { padding: 24px; min-height: 220px; }
  .studio-page .studio-feature-heading { gap: 32px; }
}
@media(max-width: 700px) {
  .studio-page .studio-nav { width: calc(100% - 32px); padding: 8px 16px; margin-top: 12px; gap: 0 16px; }
  .studio-page .studio-nav nav { border-top: 1px solid var(--border); justify-content: space-between; gap: 8px; font-size: .9375rem; padding-top: 4px; }
  .studio-page .studio-nav nav a:nth-child(2) { display: inline-flex; }
  .studio-page .studio-nav nav a:nth-child(3) { display: none; }
  .studio-page .studio-nav .studio-signin { padding-inline-start: 0; border: 0; font-size: 1rem; }
  .studio-page .wrap { width: calc(100% - 40px); }
  .studio-page .studio-intro { padding-block: 40px 48px; gap: 28px; }
  .studio-page .studio-intro h1 { font-size: 3rem; letter-spacing: -1px; margin-block: 20px; }
  .studio-page .studio-intro .eyebrow { font-size: .875rem; }
  .studio-page .studio-lead { font-size: 1.1875rem; }
  .studio-page .studio-workspace { border-radius: 16px; }
  .studio-page .studio-windowbar, .studio-page .studio-workspace figcaption { padding-inline: 16px; }
  .studio-page .studio-window-mark { display: none; }
  .studio-page .studio-index { grid-template-columns: 1fr; padding-block: 0; }
  .studio-page .studio-index a { padding: 18px 0; border-inline-start: 0; }
  .studio-page .studio-index a + a { border-top: 1px solid var(--border); }
  .studio-page .studio-feature, .studio-page .studio-mail, .studio-page .section, .studio-page .video-section, .studio-page .office-section { padding-block: 64px; }
  .studio-page h2 { font-size: 2rem; letter-spacing: -.6px; }
  .studio-page .studio-feature-heading { display: block; margin-bottom: 24px; }
  .studio-page .studio-feature-heading > p { margin-top: 16px; font-size: 1.125rem; padding: 0; }
  .studio-page .studio-demo { border-radius: 16px; }
  .studio-page .studio-demo-tabs { padding: 0; }
  .studio-page .studio-demo-tabs button { padding: 12px 8px; min-height: 80px; }
  .studio-page .studio-demo-tabs button span { font-size: .9375rem; line-height: 1.4; }
  .studio-page .studio-demo figcaption { font-size: .9375rem; padding: 14px 16px; }
  .studio-page .studio-notes { grid-template-columns: 1fr; gap: 16px; padding-top: 24px; }
  .studio-page .studio-notes p { padding-top: 16px; }
  .studio-page .studio-bridge { padding-top: 64px; }
  .product-explorer { grid-template-columns: 1fr; gap: 20px; margin-top: 28px; }
  .studio-page .product-explorer .tabs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border: 1px solid var(--border); border-radius: 12px; overflow: hidden; }
  .studio-page .product-explorer .tabs button { border: 0; padding: 12px; min-height: 80px; gap: 2px; box-shadow: inset 0 0 0 1px #edf0f4; }
  .studio-page .product-explorer .tabs button[aria-selected="true"] { box-shadow: inset 0 0 0 1px #2457d6; border-radius: 0; }
  .studio-page .product-explorer .tabs button strong { font-size: 1rem; }
  .studio-page .product-explorer .tabs button span { font-size: .875rem; }
  .studio-page .product-panel { border-radius: 16px; }
  .studio-page #screen-copy { padding: 20px; min-height: 200px; }
  .studio-page #screen-copy h3 { font-size: 1.375rem; }
  .studio-page #screen-copy p { font-size: 1rem; }
  .studio-page .studio-guides-card { padding: 24px; gap: 20px; }
  .studio-page .office-grid { gap: 28px; }
  .studio-page .price-card { padding: 28px 24px; }
  .studio-page .closing { padding: 40px 24px; }
  .visual-preview-hint { padding-inline: 16px; }
  .visual-dialog { width: calc(100% - 20px); max-height: calc(100dvh - 24px); border-radius: 14px; }
  .visual-dialog-header { padding: 10px 14px; gap: 12px; }
  .visual-dialog-header p { font-size: .9375rem; }
}
@media(prefers-reduced-motion: reduce) { .studio-page *, .studio-page *::before, .studio-page *::after { scroll-behavior: auto !important; transition-duration: 0s !important; } }
