/* KIL / September 2026. An editorial layer over the original practice. */
:root{--kil-paper:#f2f0e9;--kil-line:#11110f28}
html[data-journal-open=true] body{overflow:hidden!important}
html[data-journal-open=true] .kil-utility,html[data-journal-open=true] .kil-motion{visibility:hidden}
::selection{background:#d6ff77;color:#11110f}
header{transition:background .35s,box-shadow .35s!important}
.nav-latest{color:var(--kil-acid)!important}.nav-latest:before{content:'';width:4px;height:4px;background:currentColor;border-radius:50%;margin-right:6px}
html[data-scrolled=true] header{background:rgba(20,23,22,.94)!important;box-shadow:0 8px 30px #0001}
.kil-hero h1{letter-spacing:-.065em!important;line-height:.87!important}
.kil-hero>div:nth-child(3){max-width:1500px;margin-inline:auto;width:100%}
.kil-hero img{will-change:opacity;animation:none!important}
.kil-hero>p{letter-spacing:.08em!important}
.selected-work-grid{background:transparent!important;gap:2.5rem 1.3rem!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}
.selected-work-grid article{background:transparent!important}
.selected-work-grid [role=button]{position:relative;overflow:hidden}
.selected-work-grid img{aspect-ratio:4/5!important}
.selected-work-grid [role=button]:after{content:'↗';position:absolute;right:15px;top:15px;display:grid;place-items:center;width:40px;height:40px;border:1px solid #fff8;border-radius:50%;color:white;background:#1113;opacity:0;transform:translateY(8px);transition:.3s}
.selected-work-grid [role=button]:is(:hover,:focus-visible):after{opacity:1;transform:none}
#practice>div:last-child a{transition:padding .3s,background .3s!important}
#practice>div:last-child a:hover{padding-left:1.2rem!important}
.delivery-steps>div{transition:transform .3s}.delivery-steps>div:hover{transform:translateY(-5px)}
.kil-journal{padding:7.5rem 4vw 6rem;background:#e9e8e0;color:#11110f;border-top:1px solid var(--kil-line)}
.journal-heading{display:grid;grid-template-columns:1fr 1fr;gap:4vw;align-items:end;margin-bottom:3rem}
.journal-eyebrow{font-size:11px;letter-spacing:.16em;font-weight:600;text-transform:uppercase;margin:0 0 1.8rem;display:flex;gap:10px;align-items:center}
.journal-eyebrow:before{content:'';width:7px;height:7px;background:#55664d;border-radius:50%}
.journal-heading h2{font-size:clamp(3rem,6.4vw,6.2rem);font-weight:400;letter-spacing:-.055em;line-height:1.04;margin:0;word-break:keep-all}
.journal-heading h2 span{color:#767b70}
.journal-heading aside{max-width:480px;justify-self:end}
.journal-heading aside p{font-size:14px;line-height:1.9;word-break:keep-all}
.journal-date{display:block;font-size:10px;letter-spacing:.13em;color:#5c6158;margin-top:1.6rem}
.journal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;border-block:1px solid var(--kil-line);padding:12px 0;margin-bottom:24px;flex-wrap:wrap}
.journal-tabs{display:flex;gap:5px}.journal-tabs button{border:0;background:transparent;color:#5c6158;min-height:44px;padding:10px 17px;font-size:12px;cursor:pointer}
.journal-tabs button[aria-pressed=true]{background:#171b17;color:#fff}
.journal-search{display:flex;align-items:center;gap:12px;font-size:12px}.journal-search input{border:0;border-bottom:1px solid #1115;background:transparent;width:200px;min-height:40px;padding:8px 0;border-radius:0}
.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 22px}
.journal-card{min-width:0}.journal-card button{width:100%;display:block;text-align:left;border:0;padding:0;background:transparent;color:inherit;cursor:pointer}
.journal-cover{display:block;position:relative;overflow:hidden;background:#d5d7cd;aspect-ratio:4/5}
.journal-cover img{width:100%;height:100%;object-fit:cover;transition:transform .85s cubic-bezier(.2,.65,.2,1),filter .5s}
.journal-card button:hover img,.journal-card button:focus-visible img{transform:scale(1.035);filter:contrast(1.03)}
.journal-cover:after{content:'↗';display:grid;place-items:center;position:absolute;right:18px;bottom:18px;width:44px;height:44px;border-radius:50%;background:#f2f0e9;color:#111;transition:transform .3s}
.journal-card button:hover .journal-cover:after{transform:rotate(45deg)}
.journal-media-count{position:absolute;left:16px;top:16px;background:#18201bdd;color:white;font-size:10px;letter-spacing:.12em;padding:8px 10px;backdrop-filter:blur(10px)}
.journal-card-meta{display:flex;justify-content:space-between;gap:10px;font-size:10px;letter-spacing:.1em;color:#646a60;margin:16px 0 10px}
.journal-card h3{font-size:clamp(18px,1.75vw,27px);font-weight:400;line-height:1.15;letter-spacing:-.025em;margin:0;overflow-wrap:anywhere}
.journal-card p{font-size:12px;line-height:1.85;color:#5c6158;margin:10px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:keep-all}
.journal-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--kil-line);padding-top:24px;margin-top:40px;gap:20px}
.journal-bottom button{background:transparent;border:1px solid #1117;padding:14px 28px;color:inherit;cursor:pointer;font-size:12px;min-height:48px}.journal-bottom button:hover{background:#171b17;color:white}.journal-bottom a{font-size:12px;padding-block:14px;border-bottom:1px solid #1117}.journal-empty{padding:40px 0;font-size:14px}
.journal-dialog{position:fixed;inset:0;margin:auto;width:min(1320px,96vw);height:min(900px,94dvh);max-width:96vw;max-height:94dvh;border:0;padding:0;background:var(--kil-paper);color:#111;overflow:hidden;box-shadow:0 30px 100px #0004}
.journal-dialog::backdrop{background:#101810df;backdrop-filter:blur(12px)}
.journal-dialog-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);height:100%}
.journal-viewer{display:flex;flex-direction:column;background:#131814;min-width:0;min-height:0;color:white}
.journal-viewer-top{display:flex;justify-content:space-between;padding:20px 24px;font-size:10px;letter-spacing:.15em;color:#bdc6b8}
.journal-stage{position:relative;flex:1;min-height:0;display:grid;place-items:center;overflow:hidden}
.journal-stage img,.journal-stage video{width:100%;height:100%;position:absolute;object-fit:contain}
.journal-controls{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-top:1px solid #ffffff25;gap:16px}
.journal-controls button{width:44px;height:44px;background:transparent;color:white;border:1px solid #ffffff4a;cursor:pointer;font-size:20px}.journal-controls button:hover{background:#ffffff15}.journal-controls span{font-size:11px;letter-spacing:.12em}
.journal-thumbs{display:flex;gap:8px;overflow-x:auto;padding:0 24px 20px;flex-shrink:0}.journal-thumbs button{position:relative;flex:0 0 54px;height:64px;padding:0;border:1px solid transparent;opacity:.45;background:#263027;cursor:pointer;color:white}.journal-thumbs button[aria-current=true]{border-color:#d6ff77;opacity:1}.journal-thumbs img{width:100%;height:100%;object-fit:cover}.journal-thumbs .video-glyph{position:absolute;inset:0;display:grid;place-items:center;text-shadow:0 2px 7px black}
.journal-story{padding:65px 36px 30px;overflow-y:auto;overscroll-behavior:contain;min-width:0}
.journal-story small{font-size:10px;letter-spacing:.13em;color:#65705f}.journal-story h2{font-size:clamp(26px,3vw,42px);letter-spacing:-.04em;line-height:1.15;font-weight:400;margin:22px 0;overflow-wrap:anywhere}.journal-caption{white-space:pre-line;line-height:1.95;font-size:13px;word-break:keep-all;overflow-wrap:anywhere}.journal-source{display:inline-block;margin-top:24px;padding:12px 0;border-bottom:1px solid;font-size:12px}.journal-close{position:absolute;right:14px;top:12px;z-index:5;width:42px;height:42px;border:1px solid #1114;border-radius:50%;background:var(--kil-paper);font-size:24px;cursor:pointer}
.journal-contact{display:block;font-size:12px;padding:16px 0;margin-top:16px;color:#465c36}
.kil-motion{position:fixed;z-index:48;right:16px;bottom:16px;min-width:44px;min-height:36px;background:#171b17e8;color:#fff;border:1px solid #fff4;padding:8px 12px;font-size:10px;letter-spacing:.08em;cursor:pointer}
.kil-utility{right:108px!important}
@media(min-width:1100px){.kil-journal{padding-inline:6vw}.journal-grid .journal-card:first-child{grid-column:span 2;grid-row:span 2}.journal-grid .journal-card:first-child .journal-cover{aspect-ratio:auto;height:calc(100% - 112px);min-height:660px}.journal-grid .journal-card:first-child button{height:100%}.journal-grid .journal-card:first-child h3{font-size:36px}.journal-grid .journal-card:first-child p{max-width:620px}.journal-grid .journal-card:first-child .journal-cover img{object-fit:cover}}
@media(max-width:900px){.selected-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.journal-heading{gap:32px}.journal-heading h2{font-size:3.4rem}.journal-dialog-layout{grid-template-columns:1fr 320px}.journal-story{padding-inline:24px}}
@media(max-width:650px){.kil-journal{padding:4.5rem 5vw!important}.journal-heading{grid-template-columns:1fr;gap:24px;margin-bottom:28px}.journal-heading aside{justify-self:start}.journal-heading aside p{margin:0;font-size:13px}.journal-heading h2{font-size:3.1rem!important}.journal-date{margin-top:16px}.journal-toolbar{gap:10px}.journal-search{width:100%;justify-content:space-between}.journal-search input{flex:1;max-width:75%}.journal-tabs button{padding-inline:12px}.journal-grid{gap:26px 13px}.journal-card h3{font-size:17px}.journal-card-meta{font-size:8px;letter-spacing:.03em}.journal-card p{font-size:11px}.journal-media-count{left:8px;top:8px;font-size:8px;padding:6px}.journal-cover:after{width:32px;height:32px;right:10px;bottom:10px}.journal-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh}.journal-dialog-layout{display:block;overflow-y:auto}.journal-viewer{height:62dvh;min-height:420px}.journal-story{padding:28px 22px;overflow:visible}.journal-close{position:fixed}.journal-thumbs{padding-bottom:12px}.journal-thumbs button{height:50px;flex-basis:42px}.journal-bottom button{padding-inline:18px}.journal-bottom a{font-size:11px}.kil-motion{bottom:max(12px,env(safe-area-inset-bottom));right:12px}.kil-utility{right:100px!important}.selected-work-grid{gap:24px 10px!important}}
@media(prefers-reduced-motion:reduce){.journal-cover img,.journal-cover:after{transition:none}}
