/* Studio extends YUNOV's black canvas, Onest, graphite and periwinkle. */
.studio-page { max-width:1440px; padding-top:64px; }
.studio-page h1,.studio-page h2,.studio-page h3 { text-wrap:balance; }
.studio-hero { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:56px; min-height:590px; }
.studio-hero h1 { font-size:clamp(48px,4.7vw,72px); line-height:1.05; font-weight:600; letter-spacing:-.04em; }
.studio-hero-description { max-width:45ch; margin-top:28px; color:var(--muted); font-size:19px; line-height:1.65; }
.studio-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:32px; }
.studio-hero-actions .btn { gap:16px; }
.studio-hero-price { font-size:28px; font-weight:600; white-space:nowrap; font-variant-numeric:tabular-nums; }
.studio-hero-price small { color:var(--muted); font-size:14px; font-weight:400; margin-left:6px; }
.studio-launch-note { color:var(--muted); margin-top:18px; font-size:13px; line-height:1.6; }
.studio-hero-art { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; align-items:start; padding-block:40px; }
.studio-hero-art figure { position:relative; min-width:0; margin:0; }
.studio-hero-art figure:nth-child(2) { margin-top:64px; }
.studio-hero-art figure:nth-child(3) { margin-top:24px; }
.studio-hero-art img,.studio-hero-art video { display:block; width:100%; height:355px; object-fit:cover; border-radius:16px; background:var(--content-group); }
.studio-hero-art figcaption { padding-top:14px; font-size:13px; color:var(--muted); }
.studio-section-heading { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:64px; margin-bottom:40px; }
.studio-page h2 { font-size:clamp(34px,3.5vw,48px); line-height:1.12; font-weight:600; letter-spacing:-.035em; }
.studio-section-heading > p { max-width:48ch; color:var(--muted); font-size:17px; line-height:1.7; }
.studio-included,.studio-path,.studio-programme,.studio-comparison,.studio-faq { margin-top:120px; scroll-margin-top:120px; }
.studio-pack-list { display:grid; grid-template-columns:1fr 1fr; column-gap:48px; }
.studio-pack { display:grid; grid-template-columns:80px minmax(0,1fr) auto 20px; align-items:center; gap:20px; padding-block:24px; border-top:1px solid var(--line); text-decoration:none; }
.studio-pack h3 { font-size:20px; font-weight:600; }
.studio-pack p { margin-top:6px; color:var(--muted); font-size:14px; line-height:1.6; }
.studio-pack > span:not(.shop-product-thumbnail) { color:var(--muted); font-size:13px; white-space:nowrap; }
.studio-pack > svg { color:var(--muted); }
.studio-pack:hover h3,.studio-pack:focus-visible h3,.studio-track-name:hover { color:var(--accent-ink); }
.studio-library-note { color:var(--muted); font-size:14px; margin-top:12px; }
.studio-track-list article { display:grid; grid-template-columns:1fr 2fr; gap:48px; padding:32px 0; border-top:1px solid var(--line); }
.studio-track-name { display:flex; align-items:center; justify-content:space-between; align-self:start; gap:20px; max-width:200px; font-size:20px; text-decoration:none; }
.studio-track-list h3 { font-size:27px; font-weight:500; letter-spacing:-.025em; line-height:1.3; }
.studio-track-list p { margin-top:12px; max-width:65ch; color:var(--muted); line-height:1.75; }
.studio-programme-list { display:grid; grid-template-columns:1fr 1fr; gap:0 64px; }
.studio-programme-list article { border-top:1px solid var(--line); padding:28px 0; }
.studio-programme-list h3 { font-size:22px; font-weight:500; letter-spacing:-.02em; }
.studio-programme-list p { color:var(--muted); max-width:54ch; line-height:1.75; margin-top:12px; }
.studio-offer { display:grid; grid-template-columns:1fr 1fr; gap:64px; padding:56px; border:1px solid var(--line); border-radius:24px; margin-top:100px; background:var(--content-group,#101216); }
.studio-offer-copy > p { font-size:22px; line-height:1.5; color:var(--muted); margin-top:20px; }
.studio-offer ul { display:grid; gap:16px; padding:0; list-style:none; margin-top:32px; }
.studio-offer li { display:flex; gap:12px; align-items:start; line-height:1.6; }
.studio-offer li svg { color:var(--accent-ink); flex-shrink:0; margin-top:2px; }
.studio-offer-price { padding-left:48px; border-left:1px solid var(--line); }
.studio-offer-price > div:first-child { display:flex; align-items:baseline; gap:10px; }
.studio-offer-price strong { font-variant-numeric:tabular-nums; }
.studio-offer-price > div:first-child strong { font-size:80px; font-weight:600; line-height:1.1; letter-spacing:-.04em; }
.studio-offer-price > div:first-child span,.studio-offer-price > p { color:var(--muted); }
.studio-offer-price > p { font-size:14px; line-height:1.8; margin-top:16px; }
.studio-launch-status { padding-block:24px; margin-top:8px; display:grid; gap:8px; }
.studio-launch-status strong { font-size:18px; font-weight:500; }
.studio-launch-status span { color:var(--muted); font-size:14px; line-height:1.7; }
.studio-offer-price > .btn { width:100%; gap:12px; white-space:normal; text-align:center; }
.studio-offer-price > .studio-join { margin-top:32px; min-height:56px; }
.studio-offer-fine { display:block; margin-top:14px; font-size:13px; color:var(--muted); line-height:1.6; }
.studio-checkout .studio-text-link { margin-top:0; }
.studio-checkout-order { padding:32px; }
.studio-order-mark { display:flex; gap:12px; align-items:center; color:var(--accent-ink); font-size:48px; font-weight:600; margin-bottom:24px; }
.studio-order-mark span { color:var(--text); font-size:22px; letter-spacing:-.02em; }
.studio-checkout-order > h2 { font-size:28px; }
.studio-checkout-order > p { color:var(--muted); line-height:1.7; margin-top:14px; }
.studio-checkout-order > ul { display:grid; gap:12px; padding-left:20px; margin-top:24px; font-size:15px; line-height:1.7; }
.shop-page .shop-catalog { margin-top:32px; }
.studio-comparison > div { display:grid; grid-template-columns:1fr 1fr; gap:64px; margin-top:40px; }
.studio-comparison article { border-top:1px solid var(--line); padding-top:28px; }
.studio-comparison h3 { font-size:24px; font-weight:500; }
.studio-comparison strong { display:block; font-size:32px; margin-top:20px; font-weight:500; font-variant-numeric:tabular-nums; }
.studio-comparison strong span { color:var(--muted); font-size:15px; font-weight:400; }
.studio-comparison p { max-width:54ch; margin-top:16px; line-height:1.75; color:var(--muted); }
.studio-text-link { display:inline-flex; gap:12px; align-items:center; padding:12px 0; margin-top:16px; border:0; background:transparent; color:var(--text); font:inherit; text-decoration:none; cursor:pointer; }
.studio-text-link:hover { color:var(--accent-ink); }
.studio-faq { display:grid; grid-template-columns:1fr 1.5fr; gap:64px; margin-bottom:100px; }
.studio-faq details { border-top:1px solid var(--line); }
.studio-faq summary { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:24px 0; font-size:18px; line-height:1.5; cursor:pointer; list-style:none; }
.studio-faq summary::-webkit-details-marker { display:none; }
.studio-faq summary svg { flex-shrink:0; color:var(--muted); }
.studio-faq details[open] summary svg { transform:rotate(45deg); }
.studio-faq details p { color:var(--muted); line-height:1.8; padding:0 32px 24px 0; max-width:66ch; }
.studio-page a:focus-visible,.studio-page summary:focus-visible,.studio-page button:focus-visible,.studio-teaser:focus-visible { outline:2px solid var(--accent-ink); outline-offset:5px; }
.studio-page [tabindex="-1"]:focus { outline:none; }
.studio-teaser { display:flex; align-items:center; justify-content:space-between; gap:32px; padding:28px 0; margin-top:32px; border-block:1px solid var(--line); color:var(--text); text-decoration:none; }
.studio-teaser-name { display:inline-flex; align-items:center; gap:12px; font-size:23px; font-weight:500; }
.studio-teaser p { margin-top:8px; color:var(--muted); font-size:15px; line-height:1.6; }
.studio-teaser-price { white-space:nowrap; font-size:32px; font-weight:500; font-variant-numeric:tabular-nums; }
.studio-teaser-price small { margin-left:6px; font-size:14px; font-weight:400; color:var(--muted); }
.studio-teaser:hover .studio-teaser-name { color:var(--accent-ink); }
.studio-teaser-compact { display:block; border:0; margin:0; padding:4px 0; max-width:310px; }
.studio-teaser-compact .studio-teaser-price { display:block; margin-top:16px; }
@media(max-width:1200px) {
  .studio-hero { gap:32px; }
  .studio-hero-art img,.studio-hero-art video { height:300px; }
  .studio-pack-list { column-gap:32px; }
  .studio-pack { gap:12px; grid-template-columns:64px minmax(0,1fr) 20px; }
  .studio-pack > .shop-product-thumbnail { --product-thumb-size:64px !important; }
  .studio-pack > span:not(.shop-product-thumbnail) { display:none; }
  .studio-offer { padding:40px; gap:40px; }
  .studio-offer-price { padding-left:32px; }
}
@media(max-width:836px) {
  .studio-page { padding-top:40px; }
  .studio-hero { grid-template-columns:1fr; min-height:0; gap:24px; }
  .studio-hero h1 { font-size:clamp(44px,8vw,64px); }
  .studio-hero-description { font-size:17px; margin-top:24px; }
  .studio-hero-art { padding:0; gap:10px; }
  .studio-hero-art img,.studio-hero-art video { height:clamp(190px,43vw,330px); border-radius:12px; }
  .studio-hero-art figure:nth-child(2) { margin-top:32px; }
  .studio-hero-art figure:nth-child(3) { margin-top:12px; }
  .studio-hero-art figcaption { font-size:12px; padding-top:10px; }
  .studio-hero-actions { gap:18px; }
  .studio-section-heading { grid-template-columns:1fr; gap:20px; margin-bottom:28px; }
  .studio-section-heading > p { font-size:16px; }
  .studio-included,.studio-path,.studio-programme,.studio-comparison,.studio-faq { margin-top:80px; scroll-margin-top:100px; }
  .studio-track-list article { grid-template-columns:1fr; gap:16px; padding-block:24px; }
  .studio-track-name { max-width:100%; font-size:16px; color:var(--muted); }
  .studio-track-list h3 { font-size:24px; }
  .studio-offer { grid-template-columns:1fr; padding:28px; gap:32px; margin-top:64px; }
  .studio-offer-price { border-left:0; border-top:1px solid var(--line); padding:28px 0 0; }
  .studio-offer-price > div:first-child strong { font-size:68px; }
  .studio-programme-list,.studio-comparison > div { gap:0 28px; }
  .studio-faq { grid-template-columns:1fr; gap:28px; margin-bottom:64px; }
  .studio-teaser { gap:16px; }
  .studio-teaser-price { font-size:28px; }
  .studio-teaser-price small { display:block; margin:2px 0 0; }
}
@media(max-width:560px) {
  .studio-pack-list,.studio-programme-list,.studio-comparison > div { grid-template-columns:1fr; }
  .studio-pack { padding-block:20px; }
  .studio-comparison article + article { margin-top:28px; }
  .studio-programme-list article { padding-block:24px; }
  .studio-teaser-name { font-size:20px; }
  .studio-teaser p { font-size:14px; }
  .studio-hero-actions .btn { width:100%; justify-content:space-between; }
  .studio-hero-price { font-size:24px; }
  .studio-launch-note { margin-top:12px; }
  .studio-offer { padding:24px; }
  .studio-page h2 { font-size:34px; }
}
