/* Painted studio: large editorial artwork, real screens and one catalogue.
   Shared typography, paper, navigation and controls live in publisher.css. */
.studio-home { overflow:clip; }
.studio-home h1 { font:600 clamp(45px,4.3vw,62px)/1.08 'Dimple Sans Variable',var(--body); letter-spacing:-1.6px; }
.studio-home h2 { font:500 clamp(34px,3.2vw,44px)/1.15 var(--display); letter-spacing:-.7px; }
.studio-home h3 { font:500 29px/1.2 var(--display); }
.underlink { display:inline-block; font-size:18px; color:var(--link); text-decoration:underline; text-underline-offset:5px; }
.underlink:hover { text-decoration-thickness:2px; }
.advent-banner { background:var(--p-sun-100); border-block:1px solid var(--p-sun-200); }
.advent-banner a { display:block; padding-block:16px; font-size:18px; text-align:center; }
.advent-banner a:hover { text-decoration:underline; text-underline-offset:4px; }
.studio-opening { position:relative; min-height:570px; }
.opening-layout { display:flex; align-items:center; min-height:570px; position:relative; }
.opening-copy { width:49%; padding-block:35px 65px; }
.opening-copy p { font-size:22px; line-height:1.6; max-width:37ch; margin-top:26px; }
.opening-copy .opening-policy { color:var(--text-muted); font-size:19px; margin-top:20px; }
.opening-copy .btn { margin-top:25px; }
.opening-art { position:absolute; top:0; right:0; width:100%; height:570px; object-fit:cover; object-position:center; mask-image:linear-gradient(to right,transparent,#000 15%,#000 85%,transparent),linear-gradient(to bottom,transparent,#000 12%,#000 78%,transparent); mask-composite:intersect; }
.section-heading { display:flex; align-items:baseline; justify-content:space-between; gap:25px; margin-bottom:26px; }
.section-heading > p { font-size:18px; color:var(--text-muted); }
.recent-releases { padding-block:15px 35px; margin-bottom:25px; }
.recent-releases h2 { font-size:31px; }
.release-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px; }
.release-card { display:flex; gap:17px; padding-top:20px; border-top:1px solid var(--border); align-items:flex-start; }
.release-card img { border-radius:12px; flex-shrink:0; }
.release-card time { font-size:15px; color:var(--text-muted); }
.studio-home .release-card h3 { font-size:25px; margin-top:5px; }
.release-card p { font-size:17px; color:var(--text-muted); margin-top:9px; }
.release-card:hover h3 { text-decoration:underline; text-underline-offset:5px; }
.studio-work { padding-block:25px 45px; scroll-margin-top:25px; }
.category-links { display:flex; flex-wrap:wrap; gap:10px 35px; margin-bottom:30px; }
.category-links a { display:inline-flex; align-items:center; gap:12px; min-height:44px; font-size:19px; }
.category-links span { font-size:16px; color:var(--text-muted); }
.category-links a:hover { text-decoration:underline; text-underline-offset:5px; }
.selected-work { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px; }
.selected-product { min-width:0; }
.product-screen { position:relative; isolation:isolate; display:flex; align-items:center; justify-content:center; height:265px; padding:15px; }
.product-screen::before { content:''; position:absolute; z-index:-1; inset:-18px; background:url('/static/images/homepage/painted-worktable.webp') var(--sheet-position,0%) center / 300% 100% no-repeat; mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent),linear-gradient(to bottom,transparent,#000 12%,#000 88%,transparent); mask-composite:intersect; }
.product-screen img { width:auto; max-width:100%; height:100%; object-fit:contain; border-radius:5px; box-shadow:2px 4px 10px #14121016; }
.product-roomy .product-screen { --sheet-position:100%; }
.product-roomy .product-screen img { width:100%; height:auto; }
.product-uncrease .product-screen { --sheet-position:50%; }
.product-caption { display:flex; align-items:baseline; justify-content:space-between; gap:15px; margin-top:23px; }
.product-caption > span { font-size:15px; color:var(--text-muted); }
.selected-product > p { font-size:18px; color:var(--text-muted); margin-top:14px; max-width:40ch; }
.selected-product > .underlink { margin-top:18px; }
.selected-product:hover h3 { text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; }
#catalogue { scroll-margin-top:25px; margin-top:32px; }
#catalogue summary { padding:12px 0; min-height:44px; font-size:18px; color:var(--link); cursor:pointer; }
.all-products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin-top:25px; }
.all-products > a { display:flex; align-items:flex-start; gap:15px; }
.all-products img { flex-shrink:0; border-radius:12px; }
.studio-home .all-products h3 { font-size:25px; }
.all-products p { font-size:17px; color:var(--text-muted); margin-top:7px; }
.all-products a:hover h3 { text-decoration:underline; text-underline-offset:4px; }
.font-icon { width:52px; flex-shrink:0; font:30px/52px var(--display); }
.studio-note { display:grid; grid-template-columns:.7fr 1.3fr; gap:70px; align-items:center; padding-block:40px 60px; }
.note-screen { display:flex; justify-content:center; }
.note-screen img { width:210px; height:370px; object-fit:cover; object-position:top; border-radius:10px; box-shadow:3px 8px 24px #3323121b; }
.note-byline { font-size:16px; color:var(--text-muted); margin-bottom:16px; }
.note-copy blockquote { font:400 27px/1.45 var(--display); margin:23px 0 18px; max-width:43ch; }
.note-copy > p:not(.note-byline) { max-width:47ch; font-size:20px; }
.note-copy > .underlink { margin-top:22px; margin-right:25px; }
.in-development { margin-top:23px; max-width:52ch; font-size:17px; color:var(--text-muted); }
.in-development a { color:var(--link); text-decoration:underline; text-underline-offset:4px; }
.type-chapter { position:relative; isolation:isolate; margin-block:15px 45px; overflow:hidden; }
.type-chapter::before { content:''; position:absolute; z-index:-1; inset:0; background:#eee2ee; mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent),linear-gradient(to bottom,transparent,#000 14%,#000 86%,transparent); mask-composite:intersect; }
.foundry-layout { position:relative; padding-block:45px; min-height:360px; display:flex; align-items:center; }
.foundry-layout > div { width:47%; }
.studio-home .type-chapter h2 { font-family:'Dimple Sans Variable',var(--body); font-weight:600; }
.foundry-layout p:not(.type-art) { color:var(--p-purple-800); font-size:20px; margin-top:19px; max-width:35ch; }
.foundry-layout .btn { margin-top:24px; }
.foundry-art { position:absolute; right:-3%; top:0; width:69%; height:100%; object-fit:cover; mask-image:linear-gradient(to right,transparent,transparent 20%,#000 42%,#000 86%,transparent),linear-gradient(to bottom,transparent,#000 14%,#000 82%,transparent); mask-composite:intersect; }
.type-art { font:600 52px/1.1 'Dimple Sans Variable'; color:var(--p-purple-900); margin-top:20px; }
.studio-background { display:grid; grid-template-columns:1fr 1fr; gap:80px; padding-block:10px 50px; }
.studio-background p { font-size:20px; max-width:45ch; margin-top:20px; }
.studio-background > div:last-child p { margin-top:7px; }
.studio-background .underlink { margin-top:22px; margin-right:26px; }
@media(max-width:1000px) {
  .opening-copy { width:53%; }
  .opening-art { width:110%; right:-10%; }
  .selected-work,.release-strip { gap:25px; }
  .product-caption { display:block; }
  .product-caption > span { display:block; margin-top:8px; }
  .all-products { grid-template-columns:1fr 1fr; }
  .studio-note { gap:40px; }
}
@media(max-width:760px) {
  .studio-opening { min-height:0; }
  .opening-layout { min-height:0; }
  .opening-copy { width:100%; padding-block:35px 0; }
  .opening-copy h1 { max-width:14ch; }
  .opening-copy p { max-width:45ch; font-size:21px; }
  .opening-art { position:relative; display:block; top:auto; right:auto; width:115%; margin:-5px -7% 0; height:320px; object-position:50% 50%; mask-image:linear-gradient(to right,transparent,#000 12%,#000 86%,transparent),linear-gradient(to bottom,transparent,#000 8%,#000 78%,transparent); }
  .studio-opening { display:flex; flex-direction:column; }
  .opening-layout { order:-1; }
  .recent-releases { padding-top:0; }
  .release-strip { grid-template-columns:1fr; gap:18px; }
  .release-card { padding-top:17px; }
  .section-heading { align-items:start; }
  .section-heading .underlink { flex-shrink:0; font-size:16px; }
  .selected-work { gap:20px; }
  .product-screen { height:205px; padding:10px; }
  .studio-home .product-caption h3 { font-size:26px; }
  .selected-product > p { font-size:17px; }
  .selected-product > .underlink { font-size:16px; }
  .studio-note { grid-template-columns:.6fr 1fr; gap:30px; }
  .note-screen img { width:170px; height:300px; }
  .note-copy blockquote { font-size:24px; }
  .note-copy > p:not(.note-byline) { font-size:19px; }
  .foundry-layout > div { width:55%; }
  .foundry-art { right:-22%; width:83%; }
  .studio-background { gap:35px; }
}
@media(max-width:560px) {
  .studio-home h1 { font-size:clamp(42px,10.6vw,58px); letter-spacing:-1.4px; }
  .opening-copy h1 { max-width:none; }
  .opening-copy h1 br { display:none; }
  .opening-copy { padding-top:25px; }
  .opening-art { height:250px; margin-top:5px; }
  .section-heading { display:block; }
  .section-heading .underlink,.section-heading > p { margin-top:15px; }
  .studio-home h2 { font-size:36px; }
  .studio-home .recent-releases h2 { font-size:30px; }
  .category-links { gap:5px 22px; margin-bottom:22px; }
  .category-links a { font-size:18px; }
  .selected-work { grid-template-columns:1fr; gap:35px; }
  .product-screen { height:260px; }
  .product-caption { display:flex; }
  .product-caption > span { margin-top:0; }
  .selected-product > p { font-size:19px; }
  .selected-product > .underlink { font-size:18px; }
  .all-products { grid-template-columns:1fr; }
  .studio-note { grid-template-columns:1fr; gap:30px; padding-block:25px 40px; }
  .note-screen { order:2; }
  .note-screen img { width:190px; height:335px; }
  .note-copy blockquote { font-size:26px; }
  .type-chapter { margin-top:0; }
  .foundry-layout { padding-block:35px 0; min-height:0; }
  .foundry-layout > div { width:100%; }
  .foundry-art { position:relative; display:block; top:auto; right:auto; width:115%; margin:0 -7%; height:270px; mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 80%,transparent),linear-gradient(to right,transparent,#000 12%,#000 90%,transparent); mask-composite:intersect; }
  .type-chapter { display:flex; flex-direction:column; }
  .foundry-layout { order:-1; }
  .type-art { font-size:48px; }
  .studio-background { grid-template-columns:1fr; gap:25px; padding-bottom:35px; }
  .studio-background p { margin-top:17px; }
}
