/* Requested copy and v6 content, with the incumbent folio chrome. */
body[data-view=practice]{overflow:hidden;background:#050509}
#practice{height:100dvh;min-height:0;padding:0;background:#050509;overflow:hidden}
#practice-mount{position:absolute;inset:88px 0 68px}
#practice-frame{display:block;border:0;width:100%;height:100%;background:#050509}
#practice .practice-back{position:absolute;top:62px;left:3.2%;z-index:4;margin:0;font-size:11px;min-height:26px;color:#f3f1ed}
body[data-view=practice] .folio-legal{display:flex}
body[data-view=practice] .site-header{color:#f3f1ed}
#season .season-english{font-size:10px;letter-spacing:.13em;line-height:1.5;margin:8px 0 0;color:inherit;opacity:.8}
#season .season-lead{font-family:'Folio Serif','Folio CN',serif;font-size:clamp(19px,2vw,26px);font-weight:400;line-height:1.5;margin:18px 0 0}
#season .season-lead:not([hidden])+.season-description{margin-top:12px}
#season .season-display-title{font-size:12px;font-weight:400;letter-spacing:.08em;margin:0 0 12px;color:inherit}
#season .season-credit{font-size:10px;line-height:1.7;margin:12px 0 0;color:inherit;max-width:46em}
#season .season-notes-description{font-size:12px;font-weight:600;margin:0 0 8px}
#season .single-work .project-summary{font-size:12px;line-height:1.8;margin:12px 0 0;max-width:42em}
#season .single-work .project-facts{font-size:11px;line-height:1.7;margin:8px 0}
#season .single-work .feature-meta{flex-wrap:wrap;gap:10px}
#season .single-work .work-links{flex-wrap:wrap;gap:8px 18px}
#season .work-links a{white-space:normal}
#season .single-work .work-links a{font-size:11px;min-height:28px}
#season .single-work .work-kind,#season .single-work .work-credit{display:none}
.contact-links #copy-qq span{margin-left:8px;text-decoration:underline;text-underline-offset:4px}
@media(max-width:700px){
 #practice-mount{inset:88px 0 62px}
 #practice .practice-back{left:6vw;top:61px}
 #season .season-english{font-size:9px;margin-top:4px}
 #season .season-subtitle{margin-top:5px}
 #season .season-lead{font-size:18px;margin-top:9px}
 #season .season-display-title{font-size:11px;margin-bottom:7px}
 #season .season-credit{font-size:9px;margin-top:7px}
 #season .single-work .project-summary{font-size:11px;line-height:1.65;margin-top:7px}
 #season .single-work .project-facts{font-size:10px;margin:5px 0}
}
@media(max-height:700px){
 #season .back-link{margin-bottom:12px}
 #season .season-description{margin-top:12px}
 #season .season-notes{margin-top:8px}
}
@media(max-height:500px){#practice-mount{inset:74px 0 50px}#practice .practice-back{top:49px}}

/* Keep the v6 viewport and its original top/bottom content clearances. */
#practice-mount{inset:0}
#practice .practice-back{top:88px;text-decoration:none}
#season .season-display-title[hidden]{display:none}
#season .season-credit{font-style:italic}
@media(max-width:800px) and (min-height:560px){
 #practice .practice-back{top:70px}
 #season{grid-template-rows:minmax(0,1fr) 62px}
 #season .season-footer{display:flex;flex-direction:column;align-items:stretch;justify-content:end}
 #season .season-footer>span{display:block;font-size:9px;line-height:18px}
 body[data-view=winter] #season #feature-work.focus-deck .feature-meta h2{font-size:19px}
 body[data-view=winter] #season #feature-work.focus-deck .work-caption{padding:14px 17px 12px}
 body[data-view=winter] #season #feature-work.focus-deck .media-slot{max-height:21vh}
 #season .season-layout{overflow-y:auto;overflow-x:clip;scrollbar-width:thin}
 #season .season-works,#season[data-presentation=immersive] .season-works{align-self:start}
 #season .season-layout{grid-template-rows:auto auto!important;align-content:space-evenly}
}
#season .season-notes-description{display:block}

#season .season-description{display:block}
@media(max-height:630px){body:is([data-view=spring],[data-view=winter]) #season #feature-work.focus-deck .deck-active .project-facts{display:block}}

/* Detail reading occupies its own depth; keep the global brand and controls. */
body.practice-reading #practice .practice-back{visibility:hidden;pointer-events:none}

/* Transparent seed pass; the outgoing scene remains beneath until entry completes. */
body[data-view=practice] #practice,body[data-view=practice] #practice-frame{background:transparent}
body.practice-entering #practice .practice-back{visibility:hidden;pointer-events:none}
/* Shared Brothforge control proportions, independent of the current folio route. */
body .experience-controls,body[data-view=home] .experience-controls{gap:12px}
body .experience-controls :is(#motion-button,#sound-button){width:44px;height:44px;min-width:44px;min-height:44px;padding:0}
body .experience-controls :is(#motion-button,#sound-button) svg{width:18px;height:18px;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:760px){body .experience-controls,body[data-view=home] .experience-controls{gap:1px;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom))}}

body.practice-entering #practice-frame{pointer-events:none}

/* One canonical Brothforge lockup scale and visual origin across every route. */
body[data-view] .site-header{align-items:flex-start;padding:calc(24px + env(safe-area-inset-top)) max(clamp(24px,4vw,64px),calc(env(safe-area-inset-right) + 16px)) 0 max(clamp(24px,4vw,64px),calc(env(safe-area-inset-left) + 16px))}
body[data-view] .site-header .brand{align-items:flex-start;align-self:flex-start;min-height:44px}
body[data-view] .site-header .brand .bf-brand{--bf-brand-unit:1px}
@media(max-width:360px){body[data-view] .site-header .brand .bf-brand{--bf-brand-unit:.82px}}

/* The embedded practice scene reaches the viewport edges, including landscape. */
body[data-view=practice] #practice{position:fixed;inset:0;width:100%;height:100dvh}
body[data-view=practice] #practice-mount{position:absolute;inset:0;width:auto;height:auto}
body[data-view=practice] #practice-frame{position:absolute;inset:0;width:100%;height:100%;margin:0;border:0}
@media(orientation:landscape) and (max-height:599px){body[data-view=practice] .site-header{padding-top:max(12px,env(safe-area-inset-top))}body[data-view=practice] #practice .practice-back{top:57px;min-height:24px}}
/* The menu halo ended before the right viewport edge, producing a dark vertical seam. */
body[data-view=practice] .navigation:before{background:none}

/* One white Top link aligned to the sound control; the existing controls retain their places. */
body .experience-controls #practice-top{display:none;position:absolute;right:0;bottom:calc(100% + 5px);width:44px;height:32px;min-height:32px;align-items:center;justify-content:center;padding:0;border:0;background:none;color:#fff;font-size:11px;font-weight:400;line-height:1;letter-spacing:.035em;text-shadow:0 1px 5px #0008}
body[data-view=practice] .experience-controls #practice-top{display:flex}
body[data-view=practice] .experience-controls #practice-top:focus-visible{outline:1px solid #fff;outline-offset:2px}

/* The return link joins the woodland controls after the seed entrance. */
#practice .practice-back{top:auto;right:auto;left:3.2%;bottom:max(62px,calc(env(safe-area-inset-bottom) + 48px));min-height:44px;opacity:1;transition:opacity .65s cubic-bezier(.22,1,.36,1),visibility 0s}
body.practice-entering #practice .practice-back,body.practice-reading #practice .practice-back{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility 0s .25s}
@media(prefers-reduced-motion:reduce){#practice .practice-back{transition:none}}
body.motion-off #practice .practice-back{transition:none}

/* Keep the return action above the legal footer, clear of the reading layer. */
@media(max-width:760px){#practice .practice-back{left:6vw}}
body[data-view=practice].practice-reading .experience-controls #practice-top{display:none}
