﻿@font-face{font-family:Geist;src:url(../assets/geist-sans-BfrrXRGr.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(../assets/geist-mono-B9bzV8FE.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}#frames-of-practice-root{--font-geist-sans:"Geist";--font-geist-mono:"Geist Mono";--paper:#f7f7f5;--ink:#090909;--muted:#696966;--rule:#c9c9c5;--accent:#ff4b2f;--signal:#1738ff;--chapter-bg:#f7f7f5;--chapter-wash:#ececea;--chapter-gate:#f7f7f5;--place-wash:#e7e7e3}*{box-sizing:border-box}#frames-of-practice-root{background:var(--paper);color:var(--ink);font-family:var(--font-geist-sans),Arial,sans-serif;text-rendering:geometricprecision}#frames-of-practice-root button{color:inherit;font:inherit}#frames-of-practice-root p,#frames-of-practice-root h1{margin-top:0}.chapter-japan{--paper:#edf2ef;--muted:#65716a;--rule:#bdc9c2;--chapter-bg:#edf2ef;--chapter-wash:#d8e2dc;--chapter-gate:#e6ece8;--place-wash:#d4ded8}.chapter-texas{--paper:#ff5a3d;--muted:#54231b;--rule:#bd3d2b;--accent:#1738ff;--signal:#090909;--chapter-bg:#ff5a3d;--chapter-wash:#ff8068;--chapter-gate:#ff5a3d;--place-wash:#ffffff3b}.chapter-india{--paper:#e6c29d;--ink:#17110c;--muted:#6d5541;--rule:#b59372;--chapter-bg:#e6c29d;--chapter-wash:#f0d1b1;--chapter-gate:#dfb88f;--place-wash:#d2a77e}.page{background:var(--chapter-bg);min-height:100vh;transition:background .7s cubic-bezier(.2,.8,.2,1),color .5s}.story{height:1080svh}.viewport{isolation:isolate;width:100%;height:100svh;min-height:620px;position:sticky;top:0;overflow:hidden}.atmosphere{z-index:-5;background:var(--chapter-bg);transition:background .7s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0}.atmosphere:before{content:"";opacity:1;transition:background .7s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0}.chapter-japan .atmosphere:before{background:linear-gradient(118deg,#ffffff9e,#0000 43% 72%,#b9cbc247)}.chapter-texas .atmosphere:before{background:linear-gradient(112deg,#ffffff1a,#0000 42% 70%,#5a000014)}.chapter-india .atmosphere:before{background:radial-gradient(circle at 53% 42%,#fff4e175,#0000 18% 55%,#78431814)}.atmosphere:after{display:none}.frames-introduction{--cover-bg:#090909;--cover-ink:#f8f8f4;--cover-muted:#aaa9a4;--cover-rule:#383836;z-index:110;background:var(--cover-bg);color:var(--cover-ink);transition:opacity .12s linear;position:absolute;inset:0;overflow:hidden}.frames-introduction:before{content:"";background:var(--rule);height:1px;position:absolute;top:9vh;left:4.5vw;right:4.5vw}.frames-introduction:before,.frames-introduction:after{background:var(--cover-rule)}.frames-introduction:after{content:"";opacity:.8;width:1px;position:absolute;top:9vh;bottom:7.5vh;left:50%}.cover-register{color:var(--cover-muted);font:8px var(--font-geist-mono),monospace;letter-spacing:.13em;grid-template-columns:1fr repeat(3,auto);align-items:center;gap:clamp(15px,3vw,50px);display:grid;position:absolute;top:4.4vh;left:clamp(20px,4.5vw,72px);right:clamp(20px,4.5vw,72px)}.introduction-index{color:var(--accent)}.cover-statement{z-index:8;width:40%;position:absolute;top:15vh;left:clamp(20px,4.5vw,72px)}.cover-statement h1{color:var(--accent);font:500 9px var(--font-geist-mono),monospace;letter-spacing:.16em;text-transform:uppercase;margin:0}.cover-statement .introduction-lead{max-width:15ch;color:var(--cover-ink);letter-spacing:-.032em;margin:24vh 0 2.6vh;font:italic 400 clamp(33px,3.6vw,58px)/1.08 Georgia,Times New Roman,serif}.cover-statement>p:not(.introduction-lead){max-width:55ch;color:var(--cover-muted);margin:0;font-size:clamp(12px,.92vw,15px);line-height:1.55}.cover-sheet-stack{z-index:5;perspective:1500px;position:absolute;inset:14vh 5.2vw 15.5vh 55%}.stack-datum{z-index:-1;background:var(--cover-rule);opacity:.9;pointer-events:none;display:block;position:absolute}.stack-datum-x{height:1px;top:51%;left:-4vw;right:-3vw}.stack-datum-y{width:1px;top:-5vh;bottom:-4vh;left:48%}.cover-sheet{--paper:#f7f7f5;--ink:#090909;--muted:#696966;--rule:#c9c9c5;--sheet-x:calc(var(--sheet-offset) * 8%);--sheet-y:calc(var(--sheet-distance) * 6.5%);appearance:none;background:var(--paper);width:82%;height:88%;color:var(--ink);text-align:left;cursor:pointer;transform:translate3d(var(--sheet-x),var(--sheet-y),calc(var(--sheet-distance) * -65px)) rotate(calc(var(--sheet-offset) * .8deg));transform-origin:50% 80%;border:1px solid #2a2a2a;grid-template-rows:minmax(0,1fr) auto;padding:0;transition:transform .6s cubic-bezier(.18,.82,.2,1),filter .42s,box-shadow .42s;display:grid;position:absolute;top:1%;left:6%;box-shadow:0 20px 70px #00000073}.cover-sheet:not(.active){filter:saturate(.68)brightness(.95)}.cover-sheet:not(.active):hover,.cover-sheet:not(.active):focus-visible{filter:saturate(.92)brightness(.99)}.cover-sheet.active{box-shadow:0 30px 90px #00000094}.cover-sheet:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.cover-sheet-photo{background:var(--chapter-wash);min-height:0;position:relative;overflow:hidden}.cover-sheet-photo:before,.cover-sheet-photo:after{content:"";z-index:2;pointer-events:none;background:#fff9;position:absolute}.cover-sheet-photo:before{width:1px;top:0;bottom:0;left:50%}.cover-sheet-photo:after{height:1px;top:50%;left:0;right:0}.cover-sheet-photo img{object-fit:cover;filter:saturate(.88);width:100%;height:100%;transition:transform .9s cubic-bezier(.2,.8,.2,1),filter .5s;display:block}.cover-sheet.active .cover-sheet-photo img{filter:saturate();transform:scale(1.018)}.cover-sheet-japan .cover-sheet-photo img{object-position:50% 50%}.cover-sheet-texas .cover-sheet-photo img{object-position:50% 48%}.cover-sheet-india .cover-sheet-photo img{object-position:50% 45%}.cover-sheet-japan{--chapter-wash:#d8e2dc}.cover-sheet-texas{--chapter-wash:#ff8068}.cover-sheet-india{--chapter-wash:#f0d1b1}.sheet-photo-index{z-index:3;background:var(--paper);color:var(--accent);font:normal 7px var(--font-geist-mono),monospace;letter-spacing:.1em;padding:6px 7px;position:absolute;top:10px;left:10px}.cover-sheet-titleblock{border-top:1px solid var(--rule);background:var(--paper);grid-template-columns:105px 1fr auto;align-items:center;gap:13px;min-height:87px;padding:10px 12px;display:grid}.sheet-identity{grid-template-columns:28px 1fr;align-items:center;gap:8px;display:grid}.sheet-identity i{border:1px solid var(--accent);width:28px;height:28px;color:var(--accent);font:normal 7px var(--font-geist-mono),monospace;border-radius:50%;place-items:center;display:grid}.sheet-identity strong{font:500 9px var(--font-geist-mono),monospace;letter-spacing:.13em}.sheet-takeaway{max-width:29ch;font:400 clamp(13px,1vw,16px)/1.15 Georgia,Times New Roman,serif}.sheet-enter{color:var(--accent);font:7px var(--font-geist-mono),monospace;letter-spacing:.1em;white-space:nowrap;border-bottom:1px solid;align-self:end;padding-bottom:3px}.cover-sheet:not(.active) .sheet-takeaway,.cover-sheet:not(.active) .sheet-enter{opacity:.25}.cover-sheet-callout{z-index:4;border:1px solid var(--accent);background:var(--paper);width:27px;height:27px;color:var(--accent);font:normal 7px var(--font-geist-mono),monospace;border-radius:50%;place-items:center;display:grid;position:absolute;top:-12px;right:-12px}.cover-sheet-callout:after{content:"";background:var(--accent);width:38px;height:1px;position:absolute;top:13px;right:26px}.stack-instruction{color:var(--cover-muted);font:7px var(--font-geist-mono),monospace;letter-spacing:.1em;position:absolute;bottom:-1.7vh;left:6%}.cover-scroll-pull{z-index:12;appearance:none;border:1px solid var(--cover-rule);width:min(520px,42vw);height:8.2vh;color:var(--cover-ink);cursor:pointer;background:#101010;border-bottom:0;grid-template-columns:1fr auto;align-items:center;padding:0 22px;transition:height .26s,background .26s,border-color .26s;display:grid;position:absolute;bottom:-1px;left:50%;translate:-50%;box-shadow:0 -12px 42px #00000038}.cover-scroll-pull:hover,.cover-scroll-pull:focus-visible{background:var(--signal);border-color:var(--signal);height:9.4vh}.cover-scroll-pull span{text-align:left;font:8px var(--font-geist-mono),monospace;letter-spacing:.13em}.cover-scroll-pull span i{color:var(--accent);margin-right:15px;font-style:normal}.cover-scroll-pull b{color:var(--accent);font-size:18px;font-weight:400;animation:1.45s ease-in-out infinite scroll-cue}@keyframes scroll-cue{0%,to{translate:0 -3px}50%{translate:0 5px}}.cover-scroll-ruler{z-index:7;width:15px;color:var(--cover-muted);font:6px var(--font-geist-mono),monospace;grid-template-rows:auto repeat(5,1fr) auto;align-items:center;display:grid;position:absolute;top:20%;bottom:15%;right:clamp(20px,2.4vw,38px)}.cover-scroll-ruler:before{content:"";background:var(--cover-rule);width:1px;position:absolute;top:14px;bottom:14px;left:7px}.cover-scroll-ruler i{background:var(--cover-rule);width:9px;height:1px;margin-left:3px;position:relative}.cover-scroll-ruler i:nth-of-type(3){background:var(--accent);width:15px;margin-left:0}.cover-scroll-ruler b{color:var(--accent);font-weight:400}.intro-sheet-mark{width:31%;color:var(--cover-muted);font:7px var(--font-geist-mono),monospace;letter-spacing:.11em;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;display:grid;position:absolute;bottom:3.2vh;left:clamp(20px,4.5vw,72px)}.intro-sheet-mark i{background:var(--cover-rule);height:1px}.intro-sheet-mark span{color:var(--accent)}.site-head{z-index:80;align-items:center;gap:clamp(22px,3vw,48px);transition:opacity .18s;display:flex;position:absolute;top:clamp(18px,3.6vh,38px);left:clamp(18px,4.5vw,72px)}.record-mark{align-items:center;gap:12px;display:flex}.record-mark span{border:1px solid var(--accent);width:32px;height:32px;color:var(--accent);font:9px var(--font-geist-mono),monospace;border-radius:50%;place-items:center;display:grid}.record-mark p,.intro{margin:0}.record-mark p{font:9px var(--font-geist-mono),monospace;letter-spacing:.24em}.intro{max-width:330px;color:var(--muted);font:11px/1.45 var(--font-geist-mono),monospace}.chapter-nav{z-index:90;grid-template-columns:auto repeat(3,112px);align-items:stretch;gap:6px;transition:opacity .18s;display:grid;position:absolute;top:clamp(18px,2.8vh,29px);right:clamp(18px,3.8vw,60px)}.chapter-nav-label{color:var(--muted);font:7px var(--font-geist-mono),monospace;letter-spacing:.12em;white-space:nowrap;align-self:center;margin-right:8px}.chapter-nav button{appearance:none;border:1px solid var(--rule);min-height:42px;color:var(--ink);cursor:pointer;opacity:.7;background:#f7f7f5db;grid-template-columns:27px 1fr auto;align-items:center;gap:8px;padding:5px 8px;transition:opacity .22s,color .22s,background .22s,border-color .22s,transform .22s;display:grid}.chapter-nav button:hover,.chapter-nav button:focus-visible{opacity:1;color:#fff;background:var(--signal);border-color:var(--signal);transform:translateY(2px)}.chapter-nav button.active{opacity:1;color:#fff;background:var(--signal);border-color:var(--signal)}.chapter-nav button>span{width:27px;height:27px;font:7px var(--font-geist-mono),monospace;border:1px solid;border-radius:50%;place-items:center;display:grid}.chapter-nav b{text-align:left;font:600 8px var(--font-geist-mono),monospace;letter-spacing:.12em}.chapter-nav i{opacity:0;max-width:0;font:normal 6px var(--font-geist-mono),monospace;letter-spacing:.08em;white-space:nowrap;transition:max-width .24s,opacity .18s;overflow:hidden}.chapter-nav button:hover i,.chapter-nav button:focus-visible i{opacity:1;max-width:45px}.skip-to-index{z-index:125;appearance:none;border:1px solid var(--signal);background:var(--signal);color:#fff;cursor:pointer;grid-template-columns:auto 1fr 38px;align-items:center;width:190px;height:48px;padding:0 0 0 14px;transition:opacity .18s,transform .26s,background .22s,color .22s;display:grid;position:absolute;bottom:clamp(22px,4vh,42px);right:clamp(18px,3.8vw,60px);box-shadow:0 10px 30px #1738ff29}.skip-to-index:hover,.skip-to-index:focus-visible{color:var(--ink);background:#fff;transform:translateY(-4px)}.skip-to-index span{font:7px var(--font-geist-mono),monospace;letter-spacing:.16em}.skip-to-index strong{font:600 9px var(--font-geist-mono),monospace;letter-spacing:.12em;justify-self:start}.skip-to-index i{background:var(--accent);color:#fff;font:normal 18px var(--font-geist-sans),sans-serif;align-self:stretch;place-items:center;display:grid}.visual-index{z-index:180;visibility:hidden;opacity:0;color:var(--ink);scrollbar-gutter:stable;background:#fff;transition:opacity .24s,translate .42s cubic-bezier(.2,.8,.2,1),visibility 0s .42s;position:absolute;inset:0;overflow:auto;translate:0 28px}.visual-index.open{visibility:visible;transition-delay:0s;translate:0}.visual-index>header{z-index:3;color:#fff;background:#090909;border-bottom:1px solid #252525;grid-template-columns:1fr auto 1fr;align-items:center;min-height:88px;padding:18px clamp(20px,4.5vw,72px);display:grid;position:sticky;top:0}.visual-index>header>div:nth-child(2){text-align:center}.visual-index>header strong,.visual-index>header small{font-family:var(--font-geist-mono),monospace;letter-spacing:.13em;display:block}.visual-index>header strong{color:var(--accent);margin-bottom:5px;font-size:9px}.visual-index>header small{color:#aaa;font-size:7px}.visual-index>header>button{appearance:none;color:#fff;cursor:pointer;font:7px var(--font-geist-mono),monospace;letter-spacing:.12em;background:0 0;border:1px solid #555;justify-self:end;padding:10px 13px;transition:background .18s,border-color .18s}.visual-index>header>button:hover,.visual-index>header>button:focus-visible{background:var(--signal);border-color:var(--signal)}.index-body{padding:5vh clamp(20px,4.5vw,72px) 9vh}.index-body>article{border-bottom:1px solid var(--rule);grid-template-columns:minmax(170px,20%) 1fr;gap:clamp(24px,4vw,65px);padding:4vh 0 6vh;display:grid}.index-chapter-heading{align-self:start;position:sticky;top:120px}.index-chapter-heading>span{border:1px solid var(--signal);width:34px;height:34px;color:var(--signal);font:8px var(--font-geist-mono),monospace;border-radius:50%;place-items:center;margin-bottom:2vh;display:grid}.index-chapter-heading h2{letter-spacing:-.045em;margin:0 0 1.2vh;font:400 clamp(36px,4vw,63px)/.9 Georgia,Times New Roman,serif}.index-chapter-heading p{max-width:28ch;color:var(--muted);margin:0;font-size:11px;line-height:1.45}.index-grid{grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;gap:clamp(9px,1.2vw,18px);display:grid}.index-grid button{appearance:none;text-align:left;cursor:pointer;background:0 0;border:0;min-width:0;padding:0 0 26px;position:relative}.index-grid button:after{content:"";background:var(--rule);transform-origin:0;height:1px;transition:background .18s,transform .18s;position:absolute;bottom:21px;left:0;right:0}.index-grid button:hover:after,.index-grid button:focus-visible:after{background:var(--signal);transform:scaleX(.62)}.index-grid img,.index-placeholder{aspect-ratio:4/3;object-fit:cover;border:1px solid color-mix(in srgb,var(--rule) 70%,transparent);width:100%;display:block}.index-placeholder{color:var(--muted);font:6px var(--font-geist-mono),monospace;letter-spacing:.08em;background:#efefed;place-items:end start;padding:8px;display:grid;position:relative;overflow:hidden}.index-placeholder:before,.index-placeholder:after{content:"";background:var(--rule);position:absolute}.index-placeholder:before{width:1px;top:0;bottom:0;left:50%}.index-placeholder:after{height:1px;top:50%;left:0;right:0}.index-placeholder i{border:1px solid var(--accent);border-radius:50%;width:20px;height:20px;position:absolute;top:50%;left:50%;translate:-50% -50%}.index-grid small,.index-grid b{white-space:nowrap;text-overflow:ellipsis;font-family:var(--font-geist-mono),monospace;letter-spacing:.08em;font-weight:400;display:block;overflow:hidden}.index-grid small{color:var(--accent);margin-top:7px;font-size:7px}.index-grid b{color:var(--muted);margin-top:4px;font-size:6px}.chapter-gate{z-index:68;background:var(--chapter-gate);transition:opacity .12s linear,background .7s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0;overflow:hidden}.chapter-gate:before{content:"";background:linear-gradient(90deg,#00000005,#0000 38% 72%,#1738ff06);position:absolute;inset:0}.gate-number{color:var(--accent);font:9px var(--font-geist-mono),monospace;letter-spacing:.16em;position:absolute;top:20%;left:clamp(18px,4.5vw,72px)}.chapter-gate>h1{color:#deded9;font:600 clamp(116px,20vw,315px)/.72 var(--font-geist-sans),sans-serif;letter-spacing:-.09em;white-space:nowrap;margin:0;position:absolute;top:46%;left:50%;translate:-50% -50%}.gate-record{border-top:1px solid var(--ink);width:min(420px,33vw);padding-top:10px;position:absolute;bottom:17%;right:clamp(18px,6vw,96px)}.gate-record span{color:var(--accent);font:9px var(--font-geist-mono),monospace;letter-spacing:.13em;margin-bottom:8px;display:block}.gate-record p{letter-spacing:-.025em;margin:0;font:400 clamp(20px,1.8vw,29px)/1.06 Georgia,Times New Roman,serif}.chapter-gate>button{appearance:none;border:0;border-bottom:1px solid var(--accent);color:var(--accent);cursor:pointer;font:9px var(--font-geist-mono),monospace;letter-spacing:.13em;background:0 0;padding:0 0 6px;position:absolute;bottom:6.5%;left:clamp(18px,4.5vw,72px)}.gate-cut{background:color-mix(in srgb,var(--accent) 55%,transparent);width:1px;height:100%;position:absolute;top:0;left:50%}.gate-cut:before,.gate-cut:after{content:"";background:var(--accent);width:15px;height:1px;position:absolute;left:-7px}.gate-cut:before{top:15%}.gate-cut:after{bottom:15%}.gate-cut i{border:1px solid var(--accent);border-radius:50%;width:19px;height:19px;position:absolute;top:50%;left:0;translate:-50% -50%}.place-wash{z-index:-2;color:var(--place-wash);font:600 clamp(100px,19vw,300px)/.72 var(--font-geist-sans),sans-serif;letter-spacing:-.09em;white-space:nowrap;pointer-events:none;transition:opacity .25s,color .7s cubic-bezier(.2,.8,.2,1);position:absolute;top:45%;left:50%;translate:-50% -50%}.drawing-set{z-index:4;pointer-events:none;color:var(--muted);transition:opacity .22s;position:absolute;inset:10vh 3.4vw 8.5vh}.drawing-title,.drawing-scale{font:7px var(--font-geist-mono),monospace;letter-spacing:.13em;position:absolute}.drawing-title{top:0;left:0}.drawing-scale{bottom:0;right:0}.crop{opacity:.72;width:16px;height:16px;position:absolute}.crop:before,.crop:after{content:"";background:var(--rule);position:absolute}.crop:before{width:16px;height:1px}.crop:after{width:1px;height:16px}.crop-tl{top:14px;left:0}.crop-tr{top:14px;right:0;rotate:90deg}.crop-bl{bottom:14px;left:0;rotate:-90deg}.crop-br{bottom:14px;right:0;rotate:180deg}.datum{opacity:.13;background:var(--signal);transition:left .62s,top .62s;position:absolute}.datum-x{left:0;right:0;top:var(--active-y);height:1px}.datum-y{top:0;bottom:0;left:var(--active-x);width:1px}.camera-field{--look-x:0deg;--look-y:0deg;--active-x:50%;--active-y:50%;z-index:10;perspective:1350px;cursor:crosshair;position:absolute;inset:8vh 0 12vh}.camera-rig{transform-style:preserve-3d;transform:rotateX(var(--look-y)) rotateY(var(--look-x));transition:transform .25s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0}.spatial-frame{z-index:8;left:var(--frame-x);top:var(--frame-y);width:var(--frame-width);appearance:none;max-width:680px;transform:translate3d(-50%,-50%,var(--frame-z)) scale(var(--frame-scale)) rotate(var(--frame-rotate));transform-style:preserve-3d;filter:blur(var(--frame-blur)) saturate(.86);cursor:pointer;will-change:transform,opacity,filter;background:0 0;border:0;padding:0;transition:left .68s cubic-bezier(.2,.8,.2,1),top .68s cubic-bezier(.2,.8,.2,1),transform .68s cubic-bezier(.2,.8,.2,1),filter .44s,opacity .4s;position:absolute}.spatial-frame.active{z-index:20;filter:blur()saturate()}.spatial-frame.adjacent{z-index:5}.spatial-frame.adjacent:hover{filter:blur(2px)saturate(.9);opacity:.42!important}.spatial-frame:focus-visible{outline:2px solid var(--accent);outline-offset:7px}.image-plane{background:#e5e5e2;border:1px solid #00000052;width:100%;line-height:0;display:block;position:relative;box-shadow:0 20px 58px #00000029}.spatial-frame.active .image-plane{border-color:color-mix(in srgb,var(--accent) 55%,transparent)}.image-plane img{object-fit:contain;-webkit-user-select:none;user-select:none;width:100%;max-height:59svh;display:block}.spatial-frame.portrait .image-plane img{max-height:64svh}.placeholder-visual{text-align:left;background:#ececea;align-content:end;gap:8px;width:100%;padding:17px;line-height:1;display:grid;position:relative;overflow:hidden}.portrait .placeholder-visual{aspect-ratio:3/4}.landscape .placeholder-visual{aspect-ratio:4/3}.placeholder-visual:before,.placeholder-visual:after{content:"";background:color-mix(in srgb,var(--accent) 37%,transparent);position:absolute}.placeholder-visual:before{width:1px;top:0;bottom:0;left:50%}.placeholder-visual:after{height:1px;top:50%;left:0;right:0}.placeholder-visual>i{border:1px solid var(--accent);border-radius:50%;width:31px;height:31px;position:absolute;top:50%;left:50%;translate:-50% -50%}.placeholder-visual b{z-index:2;color:var(--accent);font:500 9px var(--font-geist-mono),monospace;letter-spacing:.12em;position:relative}.placeholder-visual small{z-index:2;color:var(--muted);font:7px var(--font-geist-mono),monospace;letter-spacing:.08em;position:relative}.frame-index{background:var(--paper);min-width:43px;color:var(--accent);font:normal 8px var(--font-geist-mono),monospace;letter-spacing:.08em;padding:8px 9px;line-height:1;position:absolute;bottom:-1px;left:-1px}.detail-callout{border:1px solid var(--accent);background:var(--paper);width:25px;height:25px;color:var(--accent);font:normal 7px var(--font-geist-mono),monospace;border-radius:50%;place-items:center;line-height:1;display:grid;position:absolute;top:-12px;right:-12px}.detail-callout:after{content:"";background:var(--accent);opacity:.6;width:38px;height:1px;position:absolute;top:12px;right:24px}.detail-callout b{font-weight:400}.spatial-frame.adjacent .detail-callout{display:none}.spatial-frame.active.motion-lift{animation:.7s cubic-bezier(.16,.85,.22,1) both lift-in}.spatial-frame.active.motion-draw{animation:.76s cubic-bezier(.2,.8,.2,1) both draw-in}.spatial-frame.active.motion-hinge{transform-origin:0;animation:.72s cubic-bezier(.2,.8,.2,1) both hinge-in}.spatial-frame.active.motion-focus{animation:.82s cubic-bezier(.16,.85,.22,1) both focus-in}.spatial-frame.active.motion-slide{animation:.72s cubic-bezier(.2,.8,.2,1) both slide-in}.spatial-frame.active.motion-settle{animation:.76s cubic-bezier(.2,.8,.2,1) both settle-in}@keyframes lift-in{0%{translate:0 5vh}to{translate:0}}@keyframes draw-in{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes hinge-in{0%{opacity:.2;rotate:y 12deg}to{opacity:1;rotate:y 0deg}}@keyframes focus-in{0%{filter:blur(15px)saturate(.75)}to{filter:blur()saturate()}}@keyframes slide-in{0%{translate:-7vw}to{translate:0}}@keyframes settle-in{0%{translate:0 -4vh;scale:.94}to{translate:0;scale:1}}.caption{z-index:50;width:min(430px,31vw);transition:opacity .25s,transform .6s cubic-bezier(.2,.8,.2,1);position:absolute}.caption:after{content:"";background:var(--accent);opacity:.55;position:absolute}.caption:before{content:"";border:1px solid var(--accent);background:var(--paper);border-radius:50%;width:7px;height:7px;position:absolute}.caption.left-mid{top:48%;left:clamp(24px,7vw,112px);translate:0 -50%}.caption.right-mid{top:48%;right:clamp(24px,7vw,112px);translate:0 -50%}.caption.left-top{top:18%;left:clamp(24px,7vw,112px)}.caption.right-top{top:17%;right:clamp(24px,7vw,112px)}.caption.left-bottom{bottom:14%;left:clamp(24px,7vw,112px)}.caption.right-bottom{bottom:14%;right:clamp(24px,7vw,112px)}.caption.top-center{text-align:center;width:min(680px,50vw);top:12%;left:50%;translate:-50%}.caption.bottom-center{text-align:center;width:min(680px,50vw);bottom:12%;left:50%;translate:-50%}.caption.left-mid:after,.caption.left-top:after,.caption.left-bottom:after{width:clamp(34px,5vw,82px);height:1px;top:18px;left:calc(100% + 13px)}.caption.left-mid:before,.caption.left-top:before,.caption.left-bottom:before{top:15px;left:calc(100% + 13px + clamp(34px,5vw,82px))}.caption.right-mid:after,.caption.right-top:after,.caption.right-bottom:after{width:clamp(34px,5vw,82px);height:1px;top:18px;right:calc(100% + 13px)}.caption.right-mid:before,.caption.right-top:before,.caption.right-bottom:before{top:15px;right:calc(100% + 13px + clamp(34px,5vw,82px))}.caption.top-center:after{width:1px;height:36px;top:calc(100% + 12px);left:50%}.caption.top-center:before{top:calc(100% + 48px);left:calc(50% - 3px)}.caption.bottom-center:after{width:1px;height:36px;bottom:calc(100% + 12px);left:50%}.caption.bottom-center:before{bottom:calc(100% + 48px);left:calc(50% - 3px)}.caption-meta,.detail-note{color:var(--accent);font:8px var(--font-geist-mono),monospace;letter-spacing:.13em;display:block}.caption-meta{margin-bottom:8px}.caption h1{letter-spacing:-.04em;max-width:15ch;margin-bottom:8px;font:400 clamp(27px,2.55vw,44px)/.97 Georgia,Times New Roman,serif}.caption p{max-width:45ch;color:var(--muted);margin-bottom:10px;font-size:clamp(11px,.79vw,13px);line-height:1.48}.caption.top-center h1,.caption.bottom-center h1,.caption.top-center p,.caption.bottom-center p{max-width:none}.caption.top-center .detail-note,.caption.bottom-center .detail-note{margin-inline:auto}.detail-note{border-top:1px solid var(--rule);width:max-content;max-width:100%;color:var(--ink);padding-top:7px}.sheet-index{z-index:72;gap:5px;transition:opacity .2s;display:grid;position:absolute;top:50%;right:clamp(18px,4.5vw,72px);translate:0 -50%}.sheet-index button{appearance:none;width:32px;height:15px;color:var(--muted);cursor:pointer;font:6px var(--font-geist-mono),monospace;background:0 0;border:0;grid-template-columns:15px 1fr;align-items:center;gap:4px;padding:0;display:grid}.sheet-index i{background:var(--rule);transform-origin:100%;height:1px;transition:background .2s,transform .2s}.sheet-index button.active{color:var(--accent)}.sheet-index button.active i{background:var(--accent);transform:scaleX(1.8)}.story-footer{z-index:92;color:var(--muted);font:7px var(--font-geist-mono),monospace;letter-spacing:.12em;grid-template-columns:auto minmax(180px,1fr) auto;align-items:center;gap:18px;transition:opacity .18s;display:grid;position:absolute;bottom:clamp(14px,2.6vh,26px);left:clamp(18px,4.5vw,72px);right:clamp(18px,4.5vw,72px)}.chapter-progress{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.chapter-progress>i{background:var(--rule);height:2px;display:block;position:relative;overflow:hidden}.chapter-progress b{background:var(--accent);transition:width .11s linear;position:absolute;top:0;bottom:0;left:0}.next-frame{appearance:none;color:var(--ink);cursor:pointer;font:inherit;letter-spacing:inherit;background:0 0;border:0;padding:0}.next-frame:hover:not(:disabled){color:var(--accent)}.next-frame:disabled{color:var(--muted);opacity:.55}@media (height<=720px) and (width>=761px){.cover-statement{top:12.5vh}.cover-statement h1{font-size:8px}.cover-statement .introduction-lead{margin-top:17vh;margin-bottom:1.6vh;font-size:clamp(29px,3.05vw,44px)}.cover-statement>p:not(.introduction-lead){font-size:11px}.cover-sheet-stack{top:12vh;bottom:14vh}.cover-sheet-titleblock{min-height:68px}.cover-scroll-pull{height:7vh}.caption h1{font-size:clamp(23px,2.2vw,35px)}.image-plane img{max-height:52svh}.spatial-frame.portrait .image-plane img{max-height:56svh}}@media (width<=760px){.story{height:1020svh}.viewport{min-height:560px}.frames-introduction{overflow:auto}.frames-introduction:before{top:8.5vh;left:16px;right:16px}.frames-introduction:after{display:none}.cover-register{grid-template-columns:1fr auto;font-size:7px;top:3.5vh;left:16px;right:16px}.cover-register span:nth-child(3),.cover-register span:nth-child(4){display:none}.cover-statement{width:calc(100% - 32px);top:12vh;left:16px}.cover-statement h1{margin:0;font-size:7px}.cover-statement .introduction-lead{max-width:18ch;margin:3.3vh 0 1.3vh;font-size:clamp(24px,7.4vw,34px)}.cover-statement>p:not(.introduction-lead){max-width:55ch;font-size:9.5px;line-height:1.42}.cover-sheet-stack{inset:48vh 22px 13vh 10px}.cover-sheet{--sheet-x:calc(var(--sheet-offset) * 6%);--sheet-y:calc(var(--sheet-distance) * 6%);width:78%;height:84%;left:10%}.cover-sheet-titleblock{grid-template-columns:72px 1fr;gap:7px;min-height:57px;padding:7px}.sheet-identity{grid-template-columns:22px 1fr;gap:5px}.sheet-identity i{width:22px;height:22px;font-size:6px}.sheet-identity strong{font-size:6.5px}.sheet-takeaway{font-size:10px}.sheet-enter{display:none}.cover-sheet-callout{width:22px;height:22px;font-size:6px;top:-9px;right:-9px}.cover-sheet-callout:after{width:27px;top:10px;right:21px}.stack-instruction{display:none}.cover-scroll-pull{width:68vw;height:6.4vh;padding:0 13px}.cover-scroll-pull span{font-size:6px}.cover-scroll-pull span i{margin-right:8px}.cover-scroll-ruler,.intro-sheet-mark{display:none}.site-head{top:17px;left:16px}.record-mark p,.intro{display:none}.chapter-nav{grid-template-columns:repeat(3,1fr);gap:4px;top:65px;left:16px;right:16px}.chapter-nav-label{margin:0;font-size:6px;position:absolute;top:-18px;right:0}.chapter-nav button{grid-template-columns:23px 1fr;gap:5px;min-height:39px;padding:4px 6px}.chapter-nav button>span{width:23px;height:23px;font-size:6px}.chapter-nav b{font-size:6.5px;display:block}.chapter-nav i{display:none}.skip-to-index{grid-template-columns:auto 1fr 31px;width:148px;height:39px;padding-left:10px;top:14px;bottom:auto;right:16px}.skip-to-index.on-cover{top:auto;bottom:7vh}.skip-to-index span{font-size:6px}.skip-to-index strong{font-size:7px}.skip-to-index i{font-size:15px}.visual-index>header{grid-template-columns:1fr auto;min-height:76px;padding:14px 16px}.visual-index>header>div:nth-child(2){display:none}.visual-index>header>button{font-size:7px}.index-body{padding:2vh 16px 7vh}.index-body>article{grid-template-columns:1fr;gap:18px;padding:3vh 0 5vh}.index-chapter-heading{grid-template-columns:30px 1fr;align-items:center;column-gap:10px;display:grid;position:static}.index-chapter-heading>span{width:28px;height:28px;margin:0}.index-chapter-heading h2{font-size:36px}.index-chapter-heading p{grid-column:2;margin-top:3px;font-size:9px}.index-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.chapter-gate>h1{font-size:30vw}.gate-number{top:18%;left:16px}.gate-record{width:70vw;bottom:17%;right:16px}.gate-record p{font-size:20px}.chapter-gate>button{left:16px}.place-wash{font-size:30vw}.drawing-set{inset:9vh 12px 8vh}.drawing-title{display:none}.drawing-scale{font-size:6px;right:5px}.camera-field{perspective:980px;inset:7vh 0 21vh}.spatial-frame.active{width:min(var(--frame-width),76vw);top:48%!important;left:50%!important}.spatial-frame.active.portrait{width:min(var(--frame-width),48vw)}.spatial-frame.adjacent{width:38vw}.spatial-frame.adjacent.distance-previous{top:74%!important;left:7%!important}.spatial-frame.adjacent.distance-next{top:25%!important;left:93%!important}.image-plane img{max-height:48svh}.spatial-frame.portrait .image-plane img{max-height:52svh}.caption{text-align:left!important;width:auto!important;inset:auto 16px 9.5vh!important;translate:0!important}.caption:before,.caption:after{display:none}.caption h1{margin-bottom:5px;font-size:clamp(23px,6.5vw,31px);max-width:18ch!important}.caption p{margin-bottom:7px;font-size:9.5px;max-width:52ch!important}.caption .detail-note{font-size:7px;margin-inline:0!important}.sheet-index{gap:5px;display:flex;top:12.5%;left:16px;right:auto;translate:0}.sheet-index button{grid-template-columns:1fr;width:18px}.sheet-index i{display:none}.story-footer{grid-template-columns:1fr auto;bottom:15px;left:16px;right:16px}.story-footer>span{display:none}}@media (width<=430px) and (height<=700px){.cover-statement h1{font-size:6px}.cover-statement .introduction-lead{font-size:22px}.cover-statement>p:not(.introduction-lead){font-size:8px}.cover-sheet-stack{top:47vh}.caption h1{font-size:22px}.caption p{font-size:9px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.camera-rig{transform:none}}

/* site integration — sticky scroll lock must not sit under overflow/containment */
#frames-of-practice{
  position:relative;
  z-index:2;
  scroll-margin-top:72px;
  margin:0;
  padding:0;
  overflow:visible;
}
#frames-of-practice .frames-deep-anchors{
  position:absolute;
  width:1px;height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
}
#frames-of-practice-root,
#frames-of-practice-root .page{
  overflow:visible;
  isolation:auto;
}
#frames-of-practice-root .story{
  height:1080svh;
  min-height:1080svh;
  display:block;
  position:relative;
  z-index:auto; /* don't inherit site section z-index stacking */
}
#frames-of-practice-root .viewport{
  position:sticky;
  top:0;
  height:100svh;
  min-height:620px;
  overflow:hidden;
  z-index:1;
}
@media (width<=760px){
  #frames-of-practice-root .story{
    height:1020svh;
    min-height:1020svh;
  }
}

/* ---- site integration overrides (nav clearance + place controls) ---- */
#frames-of-practice-root .drawing-title,
#frames-of-practice-root .drawing-scale {
  display: none !important;
}

#frames-of-practice-root .site-head {
  top: calc(clamp(18px, 3.6vh, 38px) + 58px);
}

#frames-of-practice-root .chapter-nav {
  top: calc(clamp(18px, 2.8vh, 29px) + 58px);
}

#frames-of-practice-root .cover-statement {
  top: calc(15vh + 36px);
}

#frames-of-practice-root .frames-introduction:before {
  top: calc(9vh + 36px);
}

#frames-of-practice-root .frames-introduction:after {
  top: calc(9vh + 36px);
}

#frames-of-practice-root .cover-register {
  top: calc(4.4vh + 52px);
}

/* Place jump buttons: theme colors with readable text */
#frames-of-practice-root .chapter-nav button {
  opacity: 1;
  color: var(--ink);
  background: #ffffffd9;
}

#frames-of-practice-root .chapter-nav button:nth-child(2) {
  border-color: #6a8776;
  background: #d9e5de;
  color: #1f3329;
}
#frames-of-practice-root .chapter-nav button:nth-child(2):hover,
#frames-of-practice-root .chapter-nav button:nth-child(2):focus-visible,
#frames-of-practice-root .chapter-nav button:nth-child(2).active {
  background: #3f5f4f;
  border-color: #3f5f4f;
  color: #f4faf6;
  transform: translateY(2px);
}

#frames-of-practice-root .chapter-nav button:nth-child(3) {
  border-color: #e24a32;
  background: #ffe3dc;
  color: #5a1f14;
}
#frames-of-practice-root .chapter-nav button:nth-child(3):hover,
#frames-of-practice-root .chapter-nav button:nth-child(3):focus-visible,
#frames-of-practice-root .chapter-nav button:nth-child(3).active {
  background: #ff5a3d;
  border-color: #d6452e;
  color: #fff8f5;
  transform: translateY(2px);
}

#frames-of-practice-root .chapter-nav button:nth-child(4) {
  border-color: #a67b4d;
  background: #f0d7b5;
  color: #3a2818;
}
#frames-of-practice-root .chapter-nav button:nth-child(4):hover,
#frames-of-practice-root .chapter-nav button:nth-child(4):focus-visible,
#frames-of-practice-root .chapter-nav button:nth-child(4).active {
  background: #c4894a;
  border-color: #a87236;
  color: #fffaf2;
  transform: translateY(2px);
}

#frames-of-practice-root .chapter-nav button.active {
  /* neutralize generic signal/black active fill */
  opacity: 1;
}

/* Skip to the end — clean architectural control */
#frames-of-practice-root .skip-to-index {
  width: min(260px, 78vw);
  height: 46px;
  grid-template-columns: 1fr 42px;
  gap: 0;
  padding: 0 0 0 14px;
  border: 1px solid #f1ece1;
  background: rgba(241, 236, 225, 0.96);
  color: #181512;
  box-shadow: 0 10px 28px rgba(9, 9, 9, 0.22);
}

#frames-of-practice-root .skip-to-index span {
  display: none;
}

#frames-of-practice-root .skip-to-index strong {
  font: 600 10px var(--font-geist-mono), monospace;
  letter-spacing: 0.14em;
  justify-self: start;
}

#frames-of-practice-root .skip-to-index i {
  background: #181512;
  color: #f1ece1;
  font: normal 16px/1 var(--font-geist-sans), sans-serif;
}

#frames-of-practice-root .skip-to-index:hover,
#frames-of-practice-root .skip-to-index:focus-visible {
  color: #f1ece1;
  background: #181512;
  border-color: #181512;
  transform: translateY(-3px);
}

#frames-of-practice-root .skip-to-index:hover i,
#frames-of-practice-root .skip-to-index:focus-visible i {
  background: #c1572f;
  color: #fff;
}

#frames-of-practice-root .skip-to-index.on-cover {
  border-color: rgba(241, 236, 225, 0.55);
}

#frames-of-practice-root .skip-to-index {
  grid-template-columns: 1fr;
  padding: 0 16px;
}
#frames-of-practice-root .skip-to-index i {
  display: none !important;
}
#frames-of-practice-root .skip-to-index strong {
  justify-self: center;
  letter-spacing: 0.12em;
}

/* ---- long sheet notes: grow caption, push photo down (no text scroll) ---- */
#frames-of-practice-root .caption {
  max-height: none !important;
  overflow: visible !important;
}
#frames-of-practice-root .caption.top-center {
  top: 7.5%;
  width: min(640px, 56vw);
}
#frames-of-practice-root .caption.bottom-center {
  width: min(640px, 56vw);
}
#frames-of-practice-root .caption.top-center:after {
  height: 18px;
  top: calc(100% + 6px);
}
#frames-of-practice-root .caption.top-center:before {
  top: calc(100% + 24px);
}
#frames-of-practice-root .caption p {
  max-width: 42ch;
}
#frames-of-practice-root .caption.top-center p,
#frames-of-practice-root .caption.bottom-center p {
  max-width: 58ch;
}

/* Frame position/size set by js/frames-caption-fit.js via --fit-* vars */
#frames-of-practice-root .spatial-frame.active.fit-adjusted {
  top: var(--fit-frame-top, 58%) !important;
}
#frames-of-practice-root .spatial-frame.active.fit-adjusted .image-plane img {
  max-height: var(--fit-img-max, 48svh) !important;
}

/* Native image size — no grey/white placeholder mat behind photos */
#frames-of-practice-root .image-plane {
  background: transparent !important;
  width: fit-content !important;
  max-width: 100%;
  margin-inline: auto;
}
#frames-of-practice-root .image-plane img {
  width: auto !important;
  height: auto !important;
  max-width: min(100%, 72vw);
  max-height: 59svh;
  object-fit: contain;
  background: transparent !important;
}
#frames-of-practice-root .spatial-frame.active {
  width: fit-content !important;
  max-width: min(76vw, 720px);
}
#frames-of-practice-root .spatial-frame.active.portrait {
  max-width: min(52vw, 480px);
}
#frames-of-practice-root .spatial-frame.portrait .image-plane img {
  max-height: 64svh;
}
#frames-of-practice-root .spatial-frame.active.fit-adjusted .image-plane img {
  max-height: var(--fit-img-max, 48svh) !important;
}

@media (width <= 760px) {
  #frames-of-practice-root .image-plane img {
    max-width: min(100%, 88vw);
    max-height: 48svh;
  }
  #frames-of-practice-root .spatial-frame.active.fit-adjusted .image-plane img {
    max-height: var(--fit-img-max, 38svh) !important;
  }
}
