/* Two editorial chapters. Scoped so ordering and admin retain their layouts. */
.chapter-kicker { display:flex; justify-content:space-between; gap:24px; align-items:baseline; padding-bottom:26px; border-bottom:1px solid var(--line); }
.chapter-kicker p { margin:0; }
.chapter-kicker > span, .chapter-index { font-size:.68rem; letter-spacing:.08em; color:var(--muted); }
.chapter-link { display:inline-flex; align-items:center; gap:32px; padding:13px 0; border-bottom:1px solid var(--ink); font-size:.84rem; font-weight:500; }
.chapter-link > span { font-size:1.4rem; line-height:1; transition:transform .3s var(--ease); }
.chapter-link:hover > span { transform:translate(3px,-3px); }
.chapter-link-quiet { color:var(--muted); border-color:var(--line); }
.artist-opening { padding-top:42px; padding-bottom:92px; }
.artist-opening h1 { font-size:clamp(4.8rem,12.5vw,11.5rem); line-height:1; letter-spacing:-.065em; margin:35px 0 48px; max-width:none; }
.artist-spread { position:relative; display:grid; grid-template-columns:.8fr 1fr; gap:10%; align-items:start; padding-right:6%; }
.artist-intro { padding-top:26px; }
.artist-deck { font-family:var(--serif); font-size:clamp(1.65rem,2.9vw,2.8rem); line-height:1.3; margin:28px 0 26px; max-width:480px; }
.artist-portrait { margin:0; transform:rotate(2deg); }
.artist-photo { position:relative; overflow:hidden; background:#e9e4db; aspect-ratio:4/5; }
.artist-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 35%; transition:transform 1.1s var(--ease); }
.artist-portrait:hover img { transform:scale(1.035); }
.artist-photo-fallback { display:flex; flex-direction:column; justify-content:center; height:100%; padding:32px; font:clamp(2.5rem,5vw,5rem)/1.1 var(--serif); }
.artist-portrait figcaption { display:flex; justify-content:space-between; gap:16px; margin-top:15px; font-size:.6rem; text-transform:uppercase; letter-spacing:.12em; }
.artist-side-note { position:absolute; right:0; top:8px; writing-mode:vertical-rl; font-size:.63rem; letter-spacing:.13em; color:var(--muted); }
.artist-colophon { display:flex; align-items:center; justify-content:space-between; max-width:330px; margin-top:90px; font:clamp(2rem,3.5vw,3.5rem)/1.1 var(--serif); letter-spacing:-.03em; }
.artist-colophon em { color:var(--wine); }
.artist-colophon svg { width:85px; height:120px; fill:none; stroke:#a6936e; stroke-width:1.4; }
.artist-approach { background:#e7e7d9; padding:88px 0 76px; }
.approach-layout { display:grid; grid-template-columns:1fr 1.2fr; column-gap:12%; }
.approach-heading h2 { margin:18px 0 35px; font-size:clamp(2.3rem,4.6vw,4.7rem); }
.approach-copy { padding-top:35px; }
.approach-copy > p:last-child { max-width:510px; font-size:.95rem; }
.approach-lead { font:clamp(1.6rem,2.8vw,2.65rem)/1.3 var(--serif); letter-spacing:-.02em; margin:0 0 26px; }
.artist-pigments { grid-column:2; display:flex; gap:36px; padding-top:38px; }
.artist-pigments > div { display:flex; flex-direction:column; gap:16px; font-size:.65rem; }
.pigment { display:block; width:65px; height:58px; border-radius:45% 55% 62% 38% / 58% 45% 55% 42%; box-shadow:inset 3px -4px 0 #ffffff18; transform:rotate(-12deg); }
.pigment-ink { background:#38372e; }.pigment-rust { background:#a4503d; transform:rotate(19deg); }.pigment-gold { background:#bfa570; transform:rotate(-30deg); }
.artist-letter { position:relative; padding-top:100px; padding-bottom:80px; text-align:center; }
.artist-letter > .eyebrow { margin-bottom:30px; }
.letter-quote-mark { display:block; color:var(--wine); height:72px; font:8rem/1 var(--serif); }
.artist-letter blockquote { font:clamp(2rem,4.2vw,4.1rem)/1.22 var(--serif); letter-spacing:-.035em; margin:20px auto 30px; max-width:960px; }
.artist-signature { font:italic 1.7rem var(--serif); color:var(--wine); }
.chapter-invitation { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:28px; text-align:left; margin-top:88px; padding-top:35px; border-top:1px solid var(--line); }
.chapter-invitation p { font:1.6rem/1.25 var(--serif); margin:0; }.chapter-invitation p em { display:block; }

/* A small, interactive painting table, not a booking form. */
.children-chapter { --play-blue:#395b8b; --play-green:#465840; }
.play-opening { padding-top:42px; padding-bottom:90px; }
.play-spread { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:7%; padding-top:54px; align-items:center; }
.play-copy h1 { font-size:clamp(3.7rem,6.7vw,6.7rem); line-height:.99; margin:0 0 30px; letter-spacing:-.05em; }
.play-copy h1 em { color:var(--play-blue); font-weight:400; white-space:nowrap; }
.play-copy h1 em > span { position:relative; }
.play-copy h1 em > span::after { content:''; position:absolute; left:0; right:0; bottom:-7px; height:9px; border-bottom:2px solid #a8b5c6; border-radius:50%; transform:rotate(-3deg); }
.play-lead { font-size:1.04rem; line-height:1.7; margin:30px 0 18px; }
.play-description { color:var(--muted); font-size:.85rem; max-width:370px; margin-bottom:22px; }
.play-table { --bird-main:#395b8b; --bird-accent:#bccde0; position:relative; padding:36px 26px 0 10px; }
.play-table[data-play-palette='rust'] { --bird-main:#984e3a; --bird-accent:#e7bc98; }
.play-table[data-play-palette='green'] { --bird-main:#47634c; --bird-accent:#c4d1ab; }
.table-note { position:absolute; z-index:1; top:0; left:20%; font:italic 1rem var(--serif); color:var(--muted); transform:rotate(-5deg); }
.bird-sheet { position:relative; background:#fffaf0; box-shadow:0 18px 42px #46382312, 0 1px 3px #46382319; padding:5px 12px 20px; transform:rotate(5deg); border:1px solid #e8e0cf; }
.bird-sheet::before { content:''; position:absolute; top:-13px; left:41%; width:80px; height:28px; background:#d7d9bb99; transform:rotate(-8deg); }
.play-bird { display:block; width:100%; height:auto; overflow:visible; }
.play-bird path, .play-bird ellipse { transition:fill .45s ease, stroke .45s ease; }
.bird-wing { transform-origin:230px 265px; }
html[data-motion='on'] .is-in-view .bird-wing { animation:bird-breathe 7s ease-in-out infinite; }
@keyframes bird-breathe { 0%,70%,100% { transform:rotate(0); } 82% { transform:rotate(-5deg); } 91% { transform:rotate(1deg); } }
.sheet-caption { display:block; padding:0 14px; font:.66rem var(--sans); letter-spacing:.05em; text-align:center; color:#777565; }
.table-pencil { position:absolute; width:11px; height:190px; background:linear-gradient(90deg,#9e563c 0 25%,#c78761 25% 65%,#ac6146 65%); right:28px; bottom:140px; border-radius:2px; transform:rotate(19deg); box-shadow:3px 4px 4px #30241a19; }
.table-pencil::after { content:''; position:absolute; top:100%; border-left:5.5px solid transparent; border-right:5.5px solid transparent; border-top:26px solid #cfb58a; }
.table-ring { position:absolute; border:2px solid #b9a07933; border-radius:50%; width:78px; height:78px; left:-29px; top:38%; z-index:-1; }
.palette-controls { position:relative; z-index:2; margin:30px 0 0; text-align:center; }
.palette-buttons { display:flex; justify-content:center; gap:12px; }
.paint-choice { width:46px; height:46px; padding:0; cursor:pointer; border:4px solid var(--cream); outline:1px solid transparent; border-radius:47% 53% 45% 55%; color:#fffaf0; transition:transform .22s ease,outline-color .22s ease; }
.paint-blue { background:#395b8b; }.paint-rust { background:#984e3a; }.paint-green { background:#47634c; }
.paint-choice[aria-pressed='true'] { outline-color:var(--muted); transform:rotate(-12deg); }
.paint-choice span { opacity:0; }.paint-choice[aria-pressed='true'] span { opacity:1; }
.paint-choice:hover { transform:translateY(-4px); }.paint-choice:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
.palette-controls p { font-size:.71rem; margin-top:14px; }.palette-controls p span { color:var(--muted); padding-left:8px; }
.chapter-sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.play-formats { background:#e9e7dd; padding:84px 0 50px; }
.formats-heading { display:grid; grid-template-columns:1.4fr .8fr; gap:10px 12%; align-items:end; padding-bottom:45px; }
.formats-heading .eyebrow { grid-column:1 / -1; }
.formats-heading h2 { margin:0; font-size:clamp(2.8rem,5vw,5rem); }
.formats-heading > p:last-child { max-width:360px; font-size:.92rem; margin-bottom:5px; }
.format-row { display:grid; grid-template-columns:60px minmax(0,1.2fr) 120px minmax(130px,.5fr); align-items:center; gap:28px; border-top:1px solid #c6c5b7; padding:36px 0; }
.format-number { align-self:start; font-size:.72rem; padding-top:12px; }
.format-row h3 { font-size:clamp(1.7rem,2.7vw,2.8rem); letter-spacing:-.03em; margin:0 0 14px; }
.format-row p { max-width:570px; margin:0; font-size:.84rem; color:#615f53; }
.format-doodle { font:5.8rem/1 Georgia,serif; text-align:center; transition:transform .65s var(--ease); }
.format-row:hover .format-doodle { transform:rotate(18deg); }.doodle-flower { color:#8d4a36; }.doodle-spark { color:#676b3e; }.doodle-loop { color:#395b8b; font-style:italic; }
.format-caption { justify-self:end; font-size:.7rem; color:#666454; }
.play-plan { display:grid; grid-template-columns:1fr 1fr; gap:10%; padding-top:95px; padding-bottom:100px; }
.play-plan h2 { font-size:clamp(2.5rem,3.5vw,3.8rem); }.play-plan h2 em { color:#53634b; }
.play-plan-note { max-width:370px; font-size:.88rem; color:var(--muted); margin-top:24px; }
.play-questions { padding-top:30px; }.play-questions details { margin:0; padding:0; border:0; border-top:1px solid var(--line); border-radius:0; background:transparent; }.play-questions details:last-child { border-bottom:1px solid var(--line); }
.play-questions summary { padding:22px 0; display:flex; justify-content:space-between; gap:20px; cursor:pointer; font-size:.95rem; list-style:none; }
.play-questions summary::-webkit-details-marker { display:none; }.play-questions summary > span:last-child { font-size:1.3rem; line-height:1.1; transition:transform .25s ease; }.play-questions details[open] summary > span:last-child { transform:rotate(45deg); }
.play-questions details p { font-size:.85rem; color:var(--muted); max-width:470px; margin:0 25px 22px 0; }
.play-invitation { background:#435440; color:#f6f1e7; padding:76px 0 82px; }.play-invitation .container { display:flex; justify-content:space-between; align-items:center; gap:45px; }
.play-invitation .eyebrow { color:#d0d4b7; }.play-invitation h2 { font-size:clamp(3rem,4.7vw,5.1rem); }.play-invitation h2 em { color:#dfc991; }.play-invitation p:not(.eyebrow) { font-size:.9rem; color:#d6dacb; margin-bottom:0; }
.play-invite-link { flex-shrink:0; display:flex; justify-content:space-between; align-items:center; gap:50px; width:240px; height:240px; padding:38px; border:1px solid #bac4a399; border-radius:50%; font-size:1rem; transform:rotate(-7deg); transition:background .4s ease,transform .4s ease; }.play-invite-link > span:last-child { font-size:2.8rem; }.play-invite-link:hover { background:#f6f1e7; color:#435440; transform:rotate(0); }

/* Quiet shared details: no overlay can intercept interaction. No endless JS loop. */
.studio-progress { display:none; position:fixed; inset:0 0 auto; height:2px; z-index:1200; pointer-events:none; }
.studio-progress span { display:block; width:100%; height:100%; background:#a77e43; transform:scaleX(var(--reading-progress,0)); transform-origin:left; }
.studio-thread { display:none; position:fixed; right:8px; bottom:110px; width:24px; height:225px; z-index:20; pointer-events:none; fill:#a88b59; stroke:#a88b59; opacity:.6; }
.thread-guide { fill:none; opacity:.2; stroke-width:.7; }.thread-ink { fill:none; stroke-width:1; stroke-dasharray:1; stroke-dashoffset:calc(1 - var(--reading-progress,0)); }.thread-leaves { fill:none; stroke-width:.8; }
html[data-motion='on'] .studio-progress, html[data-motion='on'] .studio-thread { display:block; }
html[data-motion='on'] body[data-studio-effects='true'] .site-header::after { content:''; position:absolute; left:0; right:0; bottom:0; height:1px; pointer-events:none; background:radial-gradient(ellipse at var(--header-light,50%) center,#bd9553 0,transparent 48%); }
.surface-light, .product-image, .hero-work-link { position:relative; }
.surface-light::after, .product-image::after, .hero-work-link::after { content:''; position:absolute; inset:0; pointer-events:none; background:radial-gradient(ellipse at var(--light-x,50%) var(--light-y,50%),#fff6cc26,transparent 65%); opacity:0; transition:opacity .6s ease; }
html[data-motion='on'] .surface-lit::after { opacity:1; }
.motion-toggle { border:1px solid #c4b9a1; color:inherit; background:transparent; padding:8px 12px; min-height:40px; cursor:pointer; font:inherit; font-size:.72rem; border-radius:2px; }
.motion-toggle:disabled { cursor:default; opacity:.7; }
html[data-motion='off'] *, html[data-motion='off'] *::before, html[data-motion='off'] *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
html[data-motion='off'] .artwork-pointer, html[data-motion='off'] .page-loader { display:none!important; }
html[data-motion='off'] .product-image { cursor:pointer!important; }
html[data-motion='off'] .product-image img, html[data-motion='off'] .artist-portrait:hover img { transform:none; }
html[data-page-hidden='true'] *, html[data-page-hidden='true'] *::before, html[data-page-hidden='true'] *::after { animation-play-state:paused!important; }
@media (max-width:1150px) {
  .artist-spread { gap:7%; padding-right:4%; }.artist-colophon { margin-top:55px; }.artist-side-note { right:-6px; }
  .play-spread { gap:4%; }.play-copy h1 { font-size:clamp(3.3rem,6.7vw,5.5rem); }.play-table { padding-right:20px; }
  .format-row { grid-template-columns:32px 1fr 85px; }.format-caption { display:none; }.format-doodle { font-size:4.7rem; }
  .studio-thread { right:3px; width:18px; }.play-invite-link { width:200px; height:200px; gap:20px; }
}
@media (max-width:760px) {
  .chapter-kicker > span { font-size:.6rem; max-width:120px; text-align:right; }.chapter-kicker { padding-bottom:18px; }
  .artist-opening,.play-opening { padding-top:26px; padding-bottom:56px; }
  .artist-opening h1 { font-size:clamp(3.6rem,12.4vw,6rem); margin:28px 0 35px; }
  .artist-spread { grid-template-columns:1fr 1fr; gap:24px; padding:0; }.artist-intro { padding-top:5px; }.artist-deck { font-size:1.35rem; margin:18px 0; }.artist-intro .chapter-link { font-size:.7rem; gap:12px; }.artist-colophon { margin-top:35px; font-size:1.6rem; }.artist-colophon svg { display:none; }.artist-side-note { display:none; }.artist-portrait figcaption { font-size:.5rem; flex-direction:column; gap:4px; }
  .artist-approach { padding:52px 0; }.approach-layout { gap:30px; grid-template-columns:1fr; }.approach-heading h2 { margin:15px 0 20px; }.approach-copy { padding:0; }.approach-lead { font-size:1.75rem; }.artist-pigments { grid-column:auto; padding-top:5px; gap:32px; }
  .artist-letter { padding-top:65px; padding-bottom:55px; }.artist-letter blockquote { font-size:2.2rem; }.chapter-invitation { margin-top:55px; justify-content:flex-start; gap:20px 32px; }.chapter-invitation p { width:100%; }.chapter-invitation p em { display:inline; }
  .play-spread { grid-template-columns:1fr; gap:35px; padding-top:32px; }.play-copy h1 { font-size:clamp(3.55rem,10.3vw,6rem); }.play-copy h1 em { white-space:normal; }.play-description { max-width:450px; }.play-lead { margin-top:22px; }.play-table { width:min(460px,100%); margin:auto; padding:28px 20px 0 12px; }.table-note { font-size:.9rem; }.table-pencil { height:150px; bottom:130px; right:20px; }.table-ring { left:-6px; }.bird-sheet { transform:rotate(3deg); }.palette-controls { margin-top:25px; }
  .play-formats { padding:50px 0 22px; }.formats-heading { display:block; padding-bottom:28px; }.formats-heading > p:last-child { margin-top:22px; }.formats-heading h2 { font-size:3rem; }.format-row { grid-template-columns:24px minmax(0,1fr) 48px; gap:14px; padding:28px 0; }.format-row h3 { font-size:1.85rem; }.format-doodle { font-size:3.3rem; }.format-number { padding-top:6px; font-size:.63rem; }.format-row p { font-size:.81rem; }
  .play-plan { grid-template-columns:1fr; gap:20px; padding-top:55px; padding-bottom:58px; }.play-questions { padding-top:8px; }.play-plan h2 { font-size:2.7rem; }
  .play-invitation { padding:48px 0; }.play-invitation .container { align-items:flex-start; flex-direction:column; gap:30px; }.play-invitation h2 { font-size:3.1rem; }.play-invite-link { width:auto; height:auto; border-radius:0; border:0; border-bottom:1px solid #bac4a3; transform:none; padding:12px 0; gap:45px; }.play-invite-link br { display:none; }.play-invite-link > span:last-child { font-size:2rem; }
  .studio-thread { display:none!important; }
}
@media (max-width:420px) {
  .artist-spread { grid-template-columns:1fr; gap:32px; }.artist-intro { display:flex; flex-wrap:wrap; gap:16px; }.artist-intro .chapter-index { width:100%; }.artist-deck { font-size:1.6rem; margin:0; }.artist-colophon { display:none; }.artist-portrait { width:88%; margin:0 auto; }.artist-portrait figcaption { flex-direction:row; }.artist-letter blockquote { font-size:1.9rem; }.artist-signature { font-size:1.5rem; }
  .play-copy h1 { font-size:3.3rem; }.format-row { grid-template-columns:22px minmax(0,1fr); }.format-doodle { display:none; }.palette-controls p span { display:block; padding:3px 0 0; }.play-plan h2 { font-size:2.4rem; }.play-invitation h2 { font-size:2.65rem; }
}
@media (prefers-reduced-motion:reduce) {
  .studio-thread,.studio-progress,.artwork-pointer { display:none!important; }
  .surface-light::after,.product-image::after,.hero-work-link::after { display:none; }
  .bird-wing { animation:none!important; }
}
