@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap');
:root{--paper:#eeece3;--ink:#252923;--moss:#616f48;--line:#b8baad;--purple:#c0b8d7;--yellow:#e6de82}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #aa523d;outline-offset:5px}header{padding:28px 4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:25px}.logo{font-size:28px;font-weight:600;letter-spacing:-1.3px}.logo span{display:block;font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:0;margin-top:4px}nav{display:flex;gap:32px;font-size:13px}sup{font:9px 'IBM Plex Mono',monospace;color:var(--moss)}.contact{font-size:13px;border-bottom:1px solid;padding-bottom:5px}.contact span{margin-left:28px}main{padding:0 4%}section{position:relative}.mono,.eyebrow,.spec-label,.spec-foot,.window-label{font:10px 'IBM Plex Mono',monospace;letter-spacing:.07em}.eyebrow{display:flex;align-items:center;gap:10px;position:absolute;top:32px;left:0;right:0}.eyebrow>span:last-child{margin-left:auto}.dot{width:6px;height:6px;background:var(--moss);border-radius:100%}.hero{min-height:780px;padding-top:108px}.hero h1{font-size:clamp(80px,10.7vw,166px);line-height:.88;letter-spacing:-.075em;margin:40px 0 55px;position:relative;width:55%;z-index:2;font-weight:500}.hero h1 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.07em}.asterisk{font-size:80px;color:var(--moss);position:absolute;right:7%;top:12%}.hero-caption{display:flex;width:52%;justify-content:space-between;gap:30px;position:relative;z-index:3}.hero-caption>p{font-size:24px;line-height:1.25;margin:0}.caption-right{max-width:235px}.caption-right p{font-size:12px;line-height:1.7}.text-link{font-size:12px;border-bottom:1px solid;display:inline-block;padding-bottom:7px}.caption-right .text-link{margin-top:20px}.specimen{position:absolute;right:-1%;top:98px;width:51%;height:590px}.connections{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#909983;stroke-width:.6}.spec-label{position:absolute;top:10px;right:20px;font-size:8px}.spec-card{position:absolute;display:block;background:#f8f6ef;padding:9px;box-shadow:0 8px 16px #363d2510;transition:transform .3s}.spec-card:hover{transform:rotate(0) translateY(-8px)}.spec-card img{width:100%;height:170px;object-fit:cover}.spec-card>span{display:block;font:8px 'IBM Plex Mono',monospace;margin-top:10px}.place{width:47%;top:46px;right:9%;transform:rotate(7deg)}.screen{width:43%;top:246px;left:5%;transform:rotate(-8deg)}.mini-screen{height:180px;background:#c0b8d7;padding:15px;color:#353341}.mini-screen i{display:block;width:20px;height:5px;border-top:2px solid}.mini-screen b{display:block;font:30px Georgia,serif;margin-top:18px}.mini-screen>span{display:block;font:7px monospace;margin-top:10px}.mini-blocks{width:100%;height:28px;background:linear-gradient(90deg,#e6de82 30%,transparent 30%,transparent 33%,#e9e4dd 33%,#e9e4dd 65%,transparent 65%,transparent 68%,#616f48 68%);margin-top:12px}.material{position:absolute;top:316px;right:7%;width:35%}.stone{width:165px;height:165px;max-width:100%;border-radius:40% 55% 46% 43%;background:radial-gradient(circle at 35% 25%,#aca68e,transparent 40%),repeating-conic-gradient(#716d53 0% 3%,#878367 3% 6%,#595b47 6% 8%);box-shadow:inset -20px -15px 25px #22251a66,12px 16px 15px #414b3520;transform:rotate(-20deg)}.material span{font:8px 'IBM Plex Mono',monospace;display:block;margin-top:20px}.small-note{position:absolute;top:108px;left:4%;font:italic 20px Georgia,serif;transform:rotate(-13deg)}.cross{position:absolute;font-size:20px;font-weight:300}.cross-one{top:33%;left:8%}.cross-two{bottom:10%;right:20%}.orbit-word{position:absolute;font:8px monospace;bottom:80px;left:5%}.orbit-word.second{top:300px;right:0;left:auto;bottom:auto}.spec-foot{position:absolute;bottom:0;right:5%;font-size:8px;color:#626857}.ruled{border-top:1px solid var(--line)}.intro{display:grid;grid-template-columns:1fr 2fr 1.3fr;gap:40px;padding:65px 0 90px}.intro .mono{padding-top:9px}h2{font-size:clamp(32px,3.8vw,56px);line-height:1.05;letter-spacing:-.045em;font-weight:500;margin:0}h2 em{font-family:Georgia,serif;font-weight:400}p{line-height:1.65;font-size:15px}.intro p{margin:0 0 20px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin:0 0 45px}.section-head h2{margin-top:25px}.snapshot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.image-wrap{height:300px;position:relative;overflow:hidden;background:#d6d3c8}.image-wrap>img{height:100%;width:100%;object-fit:cover;transition:transform .5s}.snapshot:hover img{transform:scale(1.04)}.image-wrap>span:last-of-type{position:absolute;bottom:14px;left:15px;font:8px monospace;background:var(--paper);padding:6px 10px}.card-meta{display:flex;align-items:center;justify-content:space-between;margin-top:20px}.card-meta h3{font-size:19px;letter-spacing:-.6px;margin:0}.card-meta>span{font:10px monospace}.snapshot p{font-size:12px;max-width:280px}.snapshots{padding-bottom:100px}.digital-art{background:#c0b8d7;padding:60px 20px}.window-label{position:absolute;top:20px;left:20px;font-size:8px}.dashboard{background:#f5f3ed;display:flex;height:175px;width:115%;transform:rotate(-6deg);box-shadow:8px 15px 20px #29243e20;padding:15px;gap:15px}.dashboard aside{width:30px;border-right:1px solid #ddd;line-height:2}.dashboard>div{flex:1}.dashboard small{font:6px monospace}.dashboard h4{font:20px Georgia;margin:15px 0}.bars{display:flex;height:35px;gap:10px;align-items:flex-end}.bars i{width:22%;height:50%;background:#a7b18c}.bars i:nth-child(2){height:100%}.bars i:nth-child(3){height:70%}.bars i:nth-child(4){height:85%}.tiles{display:flex;gap:6px;margin-top:15px}.tiles b{background:#e4e1d5;font:8px monospace;padding:7px}.material-art{background:#d0d2b8}.sample{position:absolute;box-shadow:5px 9px 15px #2f372d22;background:repeating-conic-gradient(#958c68 0% 3%,#b9b294 3% 7%,#797c58 7% 10%);border-radius:3px}.s1{width:110px;height:130px;left:12%;top:40px;transform:rotate(-15deg)}.s2{width:135px;height:120px;right:10%;top:90px;transform:rotate(10deg);filter:brightness(.7)}.s3{width:80px;height:90px;left:22%;bottom:40px;transform:rotate(4deg);filter:brightness(1.2)}.material-art>small{position:absolute;top:15px;right:15px;font:7px monospace}.collab-teaser{padding:65px 0;display:grid;grid-template-columns:1fr 2fr 1.3fr;gap:40px}.collab-teaser p{margin:0}.pill{border:1px solid var(--ink);border-radius:100px;padding:15px 24px;display:inline-block;background:var(--ink);color:var(--paper);font-size:13px;width:fit-content}.collab-teaser .pill{grid-column:3;margin-top:-10px}.kit{padding:65px 0;border-top:1px solid var(--line)}.kit h2{margin:25px 0}.tool-list{display:flex;flex-wrap:wrap;gap:12px}.tool-list span{border:1px solid var(--line);padding:13px 23px;border-radius:50%}.draft-note{font:11px/1.6 'IBM Plex Mono',monospace;color:#626857}.page-top{padding:65px 0 70px;max-width:980px}.page-top h1{font-size:clamp(65px,8vw,120px);line-height:.92;letter-spacing:-.065em;font-weight:500;margin:40px 0 30px}.page-top h1 em{font-family:Georgia;font-weight:400}.lead{font-size:20px;max-width:580px}.about-opening{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:0 0 80px;align-items:center}.about-opening img{width:100%;height:480px;object-fit:cover}.about-opening h2{margin-top:25px}.about-opening p{max-width:440px}.journey{border-top:1px solid var(--line);padding:50px 0}.journey>article{display:grid;grid-template-columns:1fr 5fr;gap:20px;padding:45px 0;border-bottom:1px solid var(--line)}.journey>article>span{font:18px monospace;color:var(--moss)}.journey p{max-width:630px}.process-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:30px;max-width:700px}.process-slots span{padding:30px 15px;background:#ddded0;font:10px monospace}.process-slots small{display:block;margin-top:25px;font-size:9px}.hand-note{font:italic 22px Georgia;color:var(--moss)}.big-number{font-size:70px;letter-spacing:-5px}.big-number small{font:10px monospace;letter-spacing:0}.studio-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.studio-grid article{padding:45px;background:#ddded0}.studio-grid article:nth-child(2){background:#d7d2e1}.studio-grid h2{font-size:38px;margin-top:30px}.end-cta{padding:80px 0;text-align:center}.end-cta .pill{margin-top:25px}.filters{display:flex;gap:10px;padding:0 0 35px;flex-wrap:wrap}.filters button,.role-buttons button{border:1px solid var(--line);background:transparent;border-radius:50px;padding:12px 20px;font-size:12px}.filters button[aria-pressed=true],.role-buttons button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.work-entry{display:grid;grid-template-columns:1.2fr 1fr;gap:6%;padding:50px 0;border-top:1px solid var(--line);scroll-margin-top:20px}.work-entry .image-wrap{height:400px}.work-entry h2{margin:25px 0}.work-entry .tag{font:10px monospace;color:var(--moss)}.work-entry details{margin:25px 0;border-top:1px solid var(--line);padding-top:16px}.work-entry summary{cursor:pointer;font-size:13px}.work-entry details p{font-size:13px}.writing{padding:65px 0}.writing h2{margin:30px 0}.roles{padding-bottom:45px}.role-buttons{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.roles p{max-width:670px;font-size:19px;min-height:64px}.pinboard{padding:35px 4% 60px;background-image:radial-gradient(#a9ad9c 1px,transparent 1px);background-size:18px 18px;background-color:#e2e2d5;display:grid;grid-template-columns:1fr 1fr;gap:35px}.board-title{grid-column:1/-1;font:italic 30px Georgia}.board-title span{display:block;font:8px monospace;margin-top:12px}.pin{padding:40px 35px;position:relative;box-shadow:2px 8px 15px #25292312;transform:rotate(-2deg)}.pin:before{content:'';width:65px;height:20px;position:absolute;left:40%;top:-10px;background:#f4f2e0aa}.pin:nth-of-type(even){transform:rotate(2deg)}.pin h2{font-size:40px;margin-top:30px}.pin p{font-size:14px;max-width:350px}.pin button{border:0;border-bottom:1px solid;background:transparent;padding:6px 0;margin-top:20px;font-size:12px}.yellow{background:#e6de82}.purple{background:#c0b8d7}.green{background:#c7cfae}.white{background:#f5f1e8}.board-scribble{font:italic 25px Georgia;grid-column:1/-1;justify-self:end;transform:rotate(-5deg)}form{max-width:850px;padding-bottom:90px}fieldset{border:0;padding:0;margin:0 0 35px}legend{font-size:20px}.role-buttons label{font-size:12px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);padding:14px;border-radius:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}form>label,.form-grid>label{display:flex;flex-direction:column;gap:12px;font-size:13px;margin-bottom:30px}input:not([type=radio]),textarea{padding:15px 12px;border:1px solid var(--line);background:#f6f4ed;color:var(--ink);width:100%;border-radius:0}input[type=radio]{accent-color:var(--moss)}textarea{resize:vertical}footer{margin:0 4%;padding:25px 0 35px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font:9px monospace}footer>a{font-weight:bold}html{scroll-behavior:smooth}[hidden]{display:none!important}
@media(min-width:1600px){body{max-width:1700px;margin:auto}}@media(max-width:1000px){.hero{min-height:720px}.hero-caption{width:48%;flex-direction:column}.hero-caption>p{font-size:20px}.specimen{width:54%;top:100px;height:540px}.hero h1{margin-bottom:35px}.intro,.collab-teaser{grid-template-columns:1fr 2fr;gap:30px}.intro>div,.collab-teaser>p,.collab-teaser .pill{grid-column:2}.image-wrap{height:230px}.asterisk{font-size:55px;right:0}.stone{width:130px;height:140px}}@media(max-width:650px){header{padding:20px 5%;flex-wrap:wrap;gap:20px}.logo{font-size:25px}.contact{margin-left:auto;font-size:11px}.contact span{margin-left:15px}nav{order:3;width:100%;justify-content:space-between;font-size:12px;gap:10px}main{padding:0 5%}.eyebrow{top:24px;font-size:7px;letter-spacing:0}.eyebrow>span:last-child{display:none}.hero{padding-top:70px;min-height:0;padding-bottom:40px}.hero h1{width:100%;font-size:24vw;margin:20px 0 30px;line-height:.9}.asterisk{font-size:54px;right:5%;top:17%}.hero-caption{width:100%;flex-direction:row;gap:20px}.hero-caption>p{font-size:18px;width:45%}.caption-right{width:55%}.caption-right .mono{font-size:7px}.caption-right p{font-size:11px;margin-top:10px}.caption-right .text-link{margin-top:7px;font-size:10px}.specimen{position:relative;right:auto;top:auto;width:100%;height:420px;margin-top:40px}.spec-label{font-size:6px}.place{top:30px;right:5%;width:49%}.spec-card img{height:110px}.screen{top:175px;left:3%;width:47%}.mini-screen{height:140px;padding:10px}.mini-screen b{font-size:25px;margin-top:12px}.mini-blocks{height:20px}.spec-card>span{font-size:6px}.material{top:245px;right:2%;width:36%}.stone{width:110px;height:110px}.material span{font-size:6px;margin-top:10px}.small-note{font-size:17px;top:85px}.orbit-word{font-size:6px;bottom:30px}.orbit-word.second{top:205px}.spec-foot{font-size:6px;right:0}.intro,.collab-teaser{display:block;padding:40px 0}.intro h2,.collab-teaser h2{margin:25px 0}.intro>div{max-width:100%}.collab-teaser .pill{margin-top:15px}h2{font-size:38px}.section-head{display:block;margin-bottom:25px}.section-head .text-link{margin-top:25px}.snapshot-grid{grid-template-columns:1fr;gap:35px}.image-wrap{height:310px}.snapshots{padding-bottom:45px}.snapshot p{max-width:none}.kit{padding:40px 0}.tool-list{gap:8px}.tool-list span{padding:10px 18px;font-size:12px}.page-top{padding:40px 0}.page-top h1{font-size:17vw;margin:28px 0}.lead{font-size:17px}.about-opening{grid-template-columns:1fr;gap:30px;padding-bottom:40px}.about-opening img{height:310px}.about-opening h2{font-size:35px}.journey{padding:30px 0}.journey>article{grid-template-columns:30px 1fr;gap:15px;padding:30px 0}.journey h2{font-size:31px}.journey p{font-size:14px}.process-slots{grid-template-columns:1fr}.process-slots span{padding:20px}.process-slots small{margin-top:12px}.big-number{font-size:55px}.big-number small{display:block}.studio-grid{grid-template-columns:1fr}.studio-grid article{padding:30px}.studio-grid h2{font-size:32px}.end-cta{padding:50px 0}.work-entry{grid-template-columns:1fr;gap:25px;padding:30px 0}.work-entry .image-wrap{height:300px}.work-entry h2{font-size:35px}.writing{padding:40px 0}.role-buttons{gap:8px}.role-buttons button{padding:10px 13px;font-size:11px}.roles p{font-size:16px;min-height:100px}.pinboard{grid-template-columns:1fr;gap:30px;padding:30px 6%}.pin{padding:32px 25px}.pin h2{font-size:34px}.board-title{font-size:25px}.board-title span{font-size:7px}.board-scribble{font-size:22px}.form-grid{grid-template-columns:1fr;gap:0}.role-buttons label{padding:10px;font-size:11px}footer{flex-wrap:wrap;font-size:8px;line-height:1.5}footer span:last-child{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
.stone,.sample{background-color:#88846b;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.24' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E"),radial-gradient(ellipse at 25% 18%,#c8c0a3,transparent 70%)}

/* Work: supplied reference, one expanded gallery panel and three compact panels. */
html.work-surface{background:#eceaea}body[data-page=work]{background:#fff;border-radius:14px;margin:14px;max-width:none;min-height:calc(100svh - 28px);--paper:#fff;--ink:#171915;--line:#e2e3dd}body[data-page=work] header{padding:14px 20px;border:0;height:55px}body[data-page=work] header .logo{font-size:19px;letter-spacing:-.8px;display:flex;align-items:center;gap:7px}body[data-page=work] header .logo:before{content:'✳';font-size:19px}body[data-page=work] header .logo span,body[data-page=work] header nav{display:none}body[data-page=work] .contact{border:0;background:#0b0d0a;color:#fff;border-radius:100px;font-size:11px;padding:11px 16px}body[data-page=work] .contact>span{display:none}body[data-page=work] main{padding:0 3.3%}body[data-page=work] footer{font-family:'DM Sans',sans-serif}.work-stage{padding:105px 0 0}.work-stage-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:42px}.work-eyebrow{display:block;font:500 9px 'DM Sans',sans-serif;letter-spacing:.09em;text-transform:uppercase;margin-bottom:22px}.work-stage h1{font:400 clamp(20px,1.9vw,29px)/1.25 Georgia,serif;letter-spacing:-.045em;margin:0;max-width:960px}.gallery-arrows{display:flex;gap:7px;flex-shrink:0}.gallery-arrows button{width:46px;height:46px;border:0;border-radius:4px;background:#f7f7f4;color:#3a3d37;font-size:23px;display:grid;place-items:center;transition:background .15s}.gallery-arrows button:hover{background:#e9eae4}.work-gallery{display:flex;gap:8px;height:clamp(355px,53.5vh,620px)}.gallery-panel{position:relative;flex:1 1 0;min-width:0;overflow:hidden;isolation:isolate;border-radius:7px;background:#727665;transition:flex .65s cubic-bezier(.22,.75,.2,1)}.gallery-panel.is-active{flex:4.45 1 0}.gallery-photo,.gallery-interface,.gallery-stage-art,.gallery-material-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.gallery-photo{object-position:50% 50%}.gallery-panel:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 40%,#0b150c26 60%,#061006bf 100%);z-index:1;pointer-events:none}.panel-select{position:absolute;inset:0;border:0;background:transparent;z-index:2;width:100%;height:100%;padding:0;border-radius:7px}.panel-select:focus-visible{outline:3px solid #fff;outline-offset:-6px}.panel-caption{position:absolute;z-index:3;bottom:24px;left:22px;right:14px;color:#fff;pointer-events:none}.panel-icon{display:block;font:17px/1 monospace;margin-bottom:10px}.panel-caption h2{font:400 13px/1.35 'DM Sans',sans-serif;letter-spacing:0;margin:0;max-width:125px;text-wrap:balance}.panel-caption p{display:none;font:400 12px/1.5 'DM Sans',sans-serif;margin:10px 0 0;max-width:340px}.panel-caption a{display:none;font:11px 'DM Sans',sans-serif;margin-top:13px;border-bottom:1px solid #ffffff77;padding-bottom:3px;width:fit-content;pointer-events:auto}.is-active .panel-caption h2{max-width:370px}.is-active .panel-caption p,.is-active .panel-caption a{display:block}.panel-index{position:absolute;z-index:3;bottom:26px;right:24px;background:#f1f0de38;backdrop-filter:blur(10px);color:#fff;padding:20px 25px;display:none;text-align:center;border:1px solid #ffffff33}.panel-index>span{font:italic 51px Georgia;display:block}.panel-index>small{display:block;font:8px 'DM Sans',sans-serif;margin-top:6px;letter-spacing:.08em}.is-active .panel-index{display:block}.is-active .panel-caption{right:150px}.gallery-interface{background:#bfc2d5;display:flex;align-items:center;justify-content:center}.interface-window{flex-shrink:0;width:440px;height:310px;background:#f6f4ec;border:7px solid #e7e4db;border-radius:10px;transform:rotate(-8deg);box-shadow:15px 25px 30px #3f455b35;padding:23px;color:#333b32}.interface-brand{font:8px monospace}.interface-greeting{font-size:38px;line-height:1.05;letter-spacing:-2px;margin:25px 0 15px}.interface-greeting em{font-family:Georgia;font-weight:400}.interface-chips{display:flex;gap:7px}.interface-chips i{font:8px monospace;background:#dfe4d3;padding:9px 19px}.interface-columns{height:60px;display:flex;align-items:flex-end;gap:18px;margin-top:20px}.interface-columns i{width:20%;height:40%;background:#748560}.interface-columns i:nth-child(2){height:100%}.interface-columns i:nth-child(3){height:70%}.interface-columns i:nth-child(4){height:85%}.gallery-art-label{position:absolute;top:18px;left:18px;font:7px monospace;letter-spacing:.05em;white-space:nowrap;opacity:.65}.gallery-stage-art{background:radial-gradient(ellipse at 45% 15%,#aaae8a 0,transparent 40%),#3b4839}.stage-beam{position:absolute;top:-70px;height:100%;width:80%;background:linear-gradient(#dddcc176,#dddcc100);clip-path:polygon(44% 0,51% 0,100% 100%,0 100%);transform:rotate(15deg)}.stage-beam.two{left:25%;transform:rotate(-15deg);opacity:.6}.stage-arch{position:absolute;height:65%;width:155px;border-radius:100px 100px 0 0;border:13px solid #bac2a5;left:calc(50% - 75px);top:18%;box-shadow:10px 10px 30px #1119,inset 10px 10px 25px #1b261a50}.stage-platform{height:16px;background:#a8b194;position:absolute;width:70%;bottom:17%;left:15%;transform:skew(-15deg)}.gallery-stage-art .gallery-art-label{color:#fff}.gallery-material-art{background:#bfc7b0}.gallery-sample{width:185px;height:210px}.gallery-sample.one{left:calc(50% - 180px);top:13%;transform:rotate(-14deg)}.gallery-sample.two{left:calc(50% - 40px);top:33%;transform:rotate(15deg);filter:brightness(.7)}.gallery-sample.three{width:100px;height:115px;left:calc(50% - 130px);top:58%;transform:rotate(-5deg);filter:brightness(1.2)}.work-under-gallery{display:flex;justify-content:space-between;align-items:center;padding:24px 0 0;font:8px 'DM Sans',sans-serif;letter-spacing:.08em}.work-under-gallery nav{font:11px 'DM Sans',sans-serif;letter-spacing:0;gap:22px}.work-archive{padding-top:110px}.archive-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.archive-heading .filters{padding:0;margin:0 0 20px}.work-archive .work-entry h2{font-size:42px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1600px){body[data-page=work]{margin:18px auto;max-width:1660px}.work-stage{padding-top:115px}}
@media(max-width:1100px) and (min-width:651px){.work-stage{padding-top:75px}.work-stage-intro{margin-bottom:33px;gap:20px}.work-eyebrow{font-size:7px;margin-bottom:16px}.work-stage h1{font-size:20px}.gallery-arrows button{width:37px;height:37px;font-size:20px}.work-gallery{height:355px}.panel-caption{left:16px;bottom:20px;right:10px}.panel-caption h2{font-size:11px}.panel-caption p{font-size:10px}.panel-icon{font-size:13px}.panel-index{right:16px;bottom:20px;padding:18px}.is-active .panel-caption{right:130px}}
@media(max-width:650px){body[data-page=work]{margin:8px;border-radius:12px;min-height:calc(100svh - 16px)}body[data-page=work] header{padding:16px;height:60px;flex-wrap:nowrap;gap:10px}body[data-page=work] header .logo{font-size:18px}body[data-page=work] .contact{font-size:10px;padding:10px 13px}body[data-page=work] main{padding:0 16px}.work-stage{padding-top:64px}.work-stage-intro{display:block;margin-bottom:20px}.work-eyebrow{font-size:7px;letter-spacing:.075em;margin-bottom:17px}.work-stage h1{font-size:22px;line-height:1.26;letter-spacing:-.04em}.work-stage h1 br{display:none}.gallery-arrows{justify-content:flex-end;margin-top:20px;gap:6px}.gallery-arrows button{width:36px;height:36px;font-size:21px}.work-gallery{height:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.gallery-panel{height:160px;grid-row:2;border-radius:5px}.gallery-panel.is-active{grid-column:1/-1;grid-row:1;height:360px}.panel-caption{left:10px;bottom:13px;right:9px}.panel-caption h2{font-size:10px;line-height:1.25;max-width:100%}.panel-icon{font-size:12px;margin-bottom:8px}.panel-caption p{font-size:11px;line-height:1.5;max-width:225px}.panel-caption a{font-size:10px}.is-active .panel-caption{left:18px;bottom:22px;right:75px}.is-active .panel-caption h2{font-size:13px}.is-active .panel-caption p{max-width:225px}.panel-index{right:14px;bottom:25px;padding:10px}.panel-index>span{font-size:28px}.panel-index>small{font-size:5px}.gallery-panel:not(.is-active) .gallery-art-label{display:none}.gallery-art-label{font-size:6px;left:12px;top:12px}.interface-window{width:340px;height:270px;padding:18px}.interface-greeting{font-size:35px}.gallery-panel:not(.is-active) .interface-window{transform:rotate(-8deg) scale(.6)}.gallery-panel:not(.is-active) .stage-arch{transform:scale(.6);top:5%;height:90%}.gallery-sample{width:140px;height:165px}.gallery-sample.one{left:calc(50% - 130px)}.gallery-sample.two{left:calc(50% - 20px)}.gallery-sample.three{left:calc(50% - 100px);width:80px;height:95px}.gallery-panel:not(.is-active) .gallery-sample{transform:scale(.5) rotate(-14deg);top:-20%}.work-under-gallery{display:block;padding-top:22px;font-size:7px}.work-under-gallery nav{width:auto;justify-content:flex-start;gap:20px;margin-top:22px;font-size:11px}.work-archive{padding-top:75px}.archive-heading{display:block}.archive-heading .filters{margin-top:25px}.work-archive .work-entry h2{font-size:34px}body[data-page=work] footer{margin:0 16px;padding-top:20px}}

/* Landing: an explorable collection of cutout objects, matching the supplied reference. */
body[data-page=home]{background:#f7f2e8;--paper:#f7f2e8;--ink:#23251f}body[data-page=home] header{padding:23px 3.5%;border:0;height:80px}body[data-page=home] .logo{font-size:20px;letter-spacing:-.8px}body[data-page=home] .logo span{display:none}body[data-page=home] header nav{font:10px 'IBM Plex Mono',monospace;gap:25px}body[data-page=home] header nav sup{display:none}body[data-page=home] .contact{font:9px 'IBM Plex Mono',monospace;border:1px solid #23251f77;border-radius:50px;padding:9px 13px}body[data-page=home] .contact span{margin-left:12px}body[data-page=home] main{padding:0 3.5%}body[data-page=home] footer{font-size:8px;margin:0 3.5%;border-color:#d9d3c7}.interest-world{position:relative;min-height:650px;height:calc(100svh - 112px);max-height:1000px;isolation:isolate}.world-topline{justify-content:flex-end;position:absolute;z-index:1;top:6px;left:0;right:0;display:flex;justify-content:space-between;font:7px 'IBM Plex Mono',monospace;letter-spacing:.08em;color:#77776d;pointer-events:none}.interest-canvas{height:calc(100% - 50px);position:relative;width:100%}.interest-item{width:var(--size);position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);border:0;background:transparent;padding:0;color:var(--ink);z-index:2;cursor:grab;touch-action:none;user-select:none}.interest-item:focus-visible{outline:1px dashed #616f48;outline-offset:8px;border-radius:16px}.object-sprite{width:100%;aspect-ratio:1;display:block;overflow:hidden;position:relative;transition:transform .25s ease;pointer-events:none}.object-sprite img{width:300%;height:auto;max-width:none;position:absolute;top:0;left:0;transform:translate(var(--crop-x),var(--crop-y));pointer-events:none;user-select:none}.interest-tracy .object-sprite{aspect-ratio:.9}.interest-coffee .object-sprite{aspect-ratio:1.1}.object-label{font:8px/1.1 'IBM Plex Mono',monospace;letter-spacing:-.02em;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #33372eaa;border-radius:100px;padding:4px 7px;max-width:150px;background:#f7f2e8;white-space:nowrap;margin-top:1px}.interest-tracy .object-label{background:#23251f;border-color:#23251f;color:#fff;padding:6px 9px;font-size:9px}.object-label>span{background:#f7f2e8;color:#23251f;border-radius:100%;padding:0 2px;font-size:9px}.interest-item:hover .object-sprite,.interest-item:focus-visible .object-sprite{transform:translateY(-7px) rotate(-2deg)}.interest-item[aria-expanded=true] .object-label{background:#616f48;color:#fff;border-color:#616f48}.interest-item.is-dragging{z-index:8;cursor:grabbing}.interest-item.is-dragging .object-sprite{transform:translateY(-8px) rotate(-4deg)}.world-bottom{position:absolute;left:0;right:0;bottom:16px;display:flex;align-items:center;justify-content:space-between;font:8px 'IBM Plex Mono',monospace;color:#73756c}.world-bottom>a{position:absolute;left:50%;transform:translateX(-50%);background:#e8e3d9;border-radius:100px;min-width:205px;padding:19px 24px;font-size:10px;color:var(--ink);text-align:center}.world-bottom>a span{margin-left:8px}.world-bottom>button{border:1px solid #c9c7bb;border-radius:50%;height:34px;width:34px;background:transparent;font-size:22px;color:#454a3e}.interest-note{position:absolute;right:20px;bottom:80px;background:#fffdf8f5;backdrop-filter:blur(12px);z-index:10;max-width:335px;padding:35px 28px 28px;border:1px solid #d7d4c9;box-shadow:0 10px 50px #49423414;border-radius:12px}.interest-note>button{position:absolute;right:14px;top:10px;background:transparent;border:0;font:23px Georgia;color:#383e32;padding:2px 7px}.interest-note .mono{font-size:7px;color:#6c725e}.interest-note h2{font:400 28px/1.1 Georgia,serif;letter-spacing:-.04em;margin:22px 0 15px}.interest-note p{font-size:12px;line-height:1.7}.interest-note .text-link{font-size:10px;margin-top:12px}.home-caption{border-top:1px solid #d9d3c7;padding:32px 0;display:flex;gap:30px;align-items:center;justify-content:space-between}.home-caption>span{font:7px 'IBM Plex Mono',monospace;color:#73756c;max-width:170px;line-height:1.7}.home-caption p{font:21px/1.3 Georgia,serif;margin:0;max-width:380px;letter-spacing:-.02em}.home-caption>a{font:9px 'IBM Plex Mono',monospace;border-bottom:1px solid #858c78;padding-bottom:6px}.home-kit{border-top:1px solid #d9d3c7;padding:20px 0 35px}.home-kit>summary{font:9px 'IBM Plex Mono',monospace;cursor:pointer;list-style:none}.home-kit .tool-list{margin-top:25px}.home-kit>small{font:8px 'IBM Plex Mono',monospace;color:#85877e}.home-kit .draft-note{font-size:9px}
@media(min-width:1600px){.interest-canvas{max-width:1540px;margin:auto}}
@media(max-width:1100px) and (min-width:651px){.interest-item{width:calc(var(--size)*.8)}.interest-world{height:calc(100svh - 100px);min-height:600px}.world-topline{font-size:6px}.world-bottom>span{font-size:6px}.world-bottom>a{font-size:9px;padding:17px}.object-label{font-size:7px;max-width:150px}.interest-tracy .object-label{font-size:8px}.home-caption p{font-size:19px}}
@media(max-width:650px){body[data-page=home] header{height:72px;padding:18px 5%;flex-wrap:nowrap;gap:15px}body[data-page=home] header .logo{font-size:18px}body[data-page=home] header nav{margin-left:auto;width:auto;order:0;font-size:8px;gap:15px}body[data-page=home] header nav a[href='#collaborate']{display:none}body[data-page=home] .contact{font-size:8px;padding:8px 10px;white-space:nowrap;margin-left:0}body[data-page=home] .contact span{display:none}body[data-page=home] main{padding:0 4%}.interest-world{height:820px;min-height:0;max-height:none}.world-topline{font-size:6px;top:9px;left:4px}.world-topline>span:last-child{display:none}.interest-canvas{height:750px}.interest-item{width:calc(var(--size)*.57)}.interest-digital{left:16%;top:22%}.interest-coffee{left:55%;top:11%}.interest-performance{left:83%;top:28%}.interest-materials{left:18%;top:48%}.interest-tracy{width:230px}.interest-games{left:83%;top:61%}.interest-stories{left:14%;top:78%}.interest-strategy{left:45%;top:88%}.interest-making{left:80%;top:88%}.object-label{font-size:6px;padding:3px 5px;max-width:115px}.interest-tracy .object-label{font-size:8px;padding:5px 8px}.world-bottom{bottom:10px}.world-bottom>span{font-size:6px;max-width:70px;line-height:1.6}.world-bottom>a{font-size:8px;min-width:175px;padding:16px 17px}.world-bottom>button{width:29px;height:29px;font-size:19px}.interest-note{position:fixed;bottom:16px;left:16px;right:16px;max-width:none;padding:30px 23px 22px;max-height:55svh;overflow:auto;box-shadow:0 4px 45px #4443}.interest-note h2{font-size:26px;margin:17px 0 12px}.home-caption{display:block;padding:25px 0}.home-caption p{font-size:21px;margin:17px 0}.home-caption>a{font-size:8px}.home-caption>span{font-size:6px;max-width:none}.home-kit .tool-list span{padding:8px 13px}.interest-item{touch-action:pan-y}.object-label{touch-action:none}}

.interest-strategy .object-sprite img{transform:translate(var(--crop-x),-70.3%)}


/* Shared white card and persistent navigation, approved 14 October 2026. */
html.portfolio-surface{background:#eceaea}
body[data-page]{margin:14px;border-radius:14px;max-width:none;min-height:calc(100svh - 28px);background:#fff;color:#171915;--paper:#fff;--ink:#171915;--line:#e2e3dd;box-shadow:0 3px 20px #36363604}
body[data-page] .site-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;height:74px;padding:17px 3.3%;border:0;border-bottom:0;border-radius:14px 14px 0 0;background:#fffffff5;backdrop-filter:blur(16px);position:sticky;top:0;z-index:50}
body[data-page] .site-header .logo{font:600 20px 'DM Sans',sans-serif;letter-spacing:-.8px;display:flex;align-items:center;gap:7px;justify-self:start;white-space:nowrap}
body[data-page] .site-header .logo:before{content:none}
body[data-page] .site-header .logo span{display:none}
body[data-page] .site-header nav{display:flex;gap:30px;order:0;width:auto;margin:0;font:12px 'DM Sans',sans-serif;justify-content:center}
body[data-page] .site-header nav a,body[data-page] .site-header nav a[href='#collaborate']{display:inline-flex;align-items:center;padding:8px 0;border-bottom:1px solid transparent;color:#70726b;white-space:nowrap}
body[data-page] .site-header nav a[aria-current=page]{color:#11140e;border-bottom-color:#11140e}
body[data-page] .site-header nav a:hover{color:#11140e}
body[data-page] .site-header nav sup{display:none}
body[data-page] .site-header .contact{justify-self:end;margin:0;border:0;border-radius:100px;background:#10130e;color:#fff;font:11px 'DM Sans',sans-serif;padding:12px 17px;white-space:nowrap}
body[data-page] .site-header .contact span{display:none}
body[data-page] main{padding:0 3.3%}
body[data-page] footer{margin:0 3.3%;padding:25px 0 35px;border-color:#e2e3dd;font-family:'DM Sans',sans-serif;font-size:9px}
body[data-page] .page-top{padding:75px 0 50px;max-width:930px}
body[data-page] .page-top h1{font:400 42px/1.12 Georgia,serif;letter-spacing:-.045em;margin:24px 0 23px}
body[data-page] .page-top h1 em{font:inherit}
body[data-page] .page-top .lead{font:400 16px/1.7 'DM Sans',sans-serif;max-width:650px;margin-bottom:0}
body[data-page] .page-top .mono{font:500 9px 'DM Sans',sans-serif;letter-spacing:.08em;color:#5d6356}
body[data-page] .about-opening{gap:7%;padding-bottom:60px}
body[data-page] .about-opening>img{height:425px;border-radius:10px}
body[data-page] .about-opening h2{font:400 34px/1.15 Georgia,serif;letter-spacing:-.04em}
body[data-page] .journey{padding-top:40px}
body[data-page] .journey>article{padding:35px 0}
body[data-page] .journey h2{font:400 35px/1.2 Georgia,serif;letter-spacing:-.04em}
body[data-page] .process-slots span{background:#f7f7f4;border:1px solid #e9eae3;border-radius:8px}
body[data-page] .studio-grid article{background:#f7f7f4;border:1px solid #e9eae3;border-radius:12px}
body[data-page] .studio-grid h2{font:400 34px Georgia,serif;letter-spacing:-.04em}
body[data-page] .pinboard{background:#f7f7f4;background-image:none;border-radius:12px;padding:35px;gap:25px}
body[data-page] .pinboard .pin{background:#fff;border:1px solid #e5e7df;border-radius:12px;box-shadow:0 5px 18px #30372c06;transform:none;padding:35px}
body[data-page] .pinboard .pin:before{display:none}
body[data-page] .pinboard h2{font:400 34px/1.1 Georgia,serif;letter-spacing:-.04em}
body[data-page] .pinboard .board-title{font-size:28px}
body[data-page] input:not([type=radio]),body[data-page] textarea{background:#fafaf7;border:1px solid #dfe2d7;border-radius:8px}
body[data-page] form{max-width:900px}
body[data-page=home] .interest-world{margin-top:24px;border-radius:12px;background:#faf8f3;min-height:640px;height:calc(100svh - 140px);max-height:1000px;padding:12px 16px 0}
body[data-page=home] .world-topline{top:18px;left:18px;right:18px}
body[data-page=home] .interest-canvas{height:calc(100% - 60px)}
body[data-page=home] .world-bottom{left:18px;right:18px;bottom:20px}
body[data-page=home] .object-label{background:#faf8f3}
body[data-page=home] .interest-tracy .object-label{background:#23251f;color:#fff}
body[data-page=home] .interest-item[aria-expanded=true] .object-label{background:#616f48;color:#fff}
body[data-page=home] .interest-note{background:#fff;border:1px solid #e5e7df;box-shadow:0 10px 50px #242c2114}
body[data-page=home] .home-caption,body[data-page=home] .home-kit{border-color:#e2e3dd}
.interest-item.uses-replacement .object-sprite img{width:200%}
.interest-pitches .object-sprite{aspect-ratio:1}
@media(min-width:1600px){body[data-page]{margin:18px auto;max-width:1660px}}
@media(max-width:650px){
 body[data-page]{margin:8px;border-radius:12px;min-height:calc(100svh - 16px)}
 body[data-page] .site-header{height:100px;grid-template-columns:1fr auto;gap:7px 16px;padding:13px 16px 10px;top:0;border-radius:12px 12px 0 0}
 body[data-page] .site-header .logo{font-size:18px}
 body[data-page] .site-header .logo:before{font-size:17px}
 body[data-page] .site-header .contact{font-size:10px;padding:10px 14px}
 body[data-page] .site-header nav{grid-row:2;grid-column:1/-1;width:100%;justify-content:space-between;gap:12px;font-size:11px}
 body[data-page] .site-header nav a,body[data-page] .site-header nav a[href='#collaborate']{padding:5px 0}
 body[data-page] main{padding:0 16px}
 body[data-page] footer{margin:0 16px;font-size:8px}
 body[data-page] .page-top{padding:45px 0 35px}
 body[data-page] .page-top h1{font-size:34px;margin:22px 0}
 body[data-page] .page-top .lead{font-size:15px}
 body[data-page] .about-opening{gap:27px;padding-bottom:40px}
 body[data-page] .about-opening>img{height:310px}
 body[data-page] .about-opening h2{font-size:30px}
 body[data-page] .journey h2{font-size:28px}
 body[data-page] .journey>article{padding:28px 0}
 body[data-page] .studio-grid article{padding:28px}
 body[data-page] .studio-grid h2{font-size:29px}
 body[data-page] .pinboard{padding:18px;gap:20px}
 body[data-page] .pinboard .pin{padding:27px 23px}
 body[data-page] .pinboard h2{font-size:30px}
 body[data-page=home] .interest-world{height:825px;min-height:0;margin-top:16px;padding:10px 0 0;border-radius:10px}
 body[data-page=home] .interest-canvas{height:740px}
 body[data-page=home] .world-topline{left:12px;top:14px;font-size:5px}
 body[data-page=home] .world-bottom{left:12px;right:12px;bottom:19px}
 body[data-page=home] .world-bottom>span{font-size:5px;max-width:55px}
 body[data-page=home] .world-bottom>a{min-width:155px;font-size:7px;padding:16px 12px}
 body[data-page=home] .interest-note{left:16px;right:16px;bottom:16px}
 body[data-page=home] .object-label{font-size:5.7px;padding:3px 4px}
 body[data-page=home] .interest-tracy .object-label{font-size:8px}
 body[data-page=home] .interest-tracy{width:210px}
}
body[data-page] .work-entry{scroll-margin-top:90px}
@media(max-width:650px){body[data-page] .work-entry{scroll-margin-top:116px}}

/* Curiosity cards with real design previews fanning behind selected stories. */
body[data-page=home] .interest-note{width:380px;max-width:none;padding:0;border:0;border-radius:0;background:transparent;backdrop-filter:none;box-shadow:none;overflow:visible;isolation:isolate}
.interest-note-card{position:relative;z-index:2;background:#fff;border:1px solid #e2e5dc;border-radius:14px;padding:38px 30px 31px;box-shadow:0 12px 45px #27311e13}
.interest-note-card>button{position:absolute;right:14px;top:12px;background:transparent;border:0;font:25px/1 Georgia;color:#383e32;padding:5px 8px}
body[data-page=home] .interest-note h2{font:400 30px/1.08 Georgia,serif;letter-spacing:-.045em;margin:24px 0 19px;text-wrap:pretty}
body[data-page=home] .interest-note p{font:400 13px/1.7 'DM Sans',sans-serif;margin:0 0 20px}
body[data-page=home] .interest-note .text-link{font-size:11px;margin-top:7px}
.interest-evidence{display:block;font:7px/1.6 'IBM Plex Mono',monospace;letter-spacing:.04em;color:#70775f;margin:0 0 17px}
.interest-fan{position:absolute;inset:0;z-index:1;pointer-events:none}
.interest-fan:empty{display:none}
.fan-image{--fan-x:-155px;--fan-y:-82px;--fan-r:-17deg;position:absolute;top:0;left:0;width:265px;height:178px;padding:6px 6px 0;background:#fff;border:1px solid #e1e4d9;box-shadow:0 7px 21px #29331c26;border-radius:7px;overflow:hidden;pointer-events:auto;transform:translate(var(--fan-x),var(--fan-y)) rotate(var(--fan-r));animation:unfold-work .5s cubic-bezier(.2,.75,.2,1) both;transition:filter .2s ease}
.fan-image:nth-child(2){--fan-x:-51px;--fan-y:-154px;--fan-r:-5deg;animation-delay:.045s}
.fan-image:nth-child(3){--fan-x:77px;--fan-y:-115px;--fan-r:11deg;animation-delay:.09s}
.fan-image img{width:100%;height:145px;object-fit:cover;display:block;border-radius:3px}
.fan-image>span{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font:7px/1.25 'IBM Plex Mono',monospace;text-align:left;padding:8px 4px;color:#616957}
.fan-image:hover{filter:brightness(1.06);z-index:4}
.fan-image:focus-visible{z-index:5;outline:2px solid #616f48;outline-offset:3px}
@keyframes unfold-work{from{opacity:0;transform:translate(20px,20px) rotate(0deg) scale(.9)}to{opacity:1;transform:translate(var(--fan-x),var(--fan-y)) rotate(var(--fan-r)) scale(1)}}
.work-preview{width:min(1100px,calc(100vw - 48px));max-width:none;max-height:calc(100svh - 48px);padding:35px 20px 15px;border:1px solid #e1e5d9;border-radius:13px;background:#fff;box-shadow:0 20px 80px #10160d22;overflow:auto}
.work-preview::backdrop{background:#1d271c88;backdrop-filter:blur(5px)}
.work-preview>button{position:absolute;right:10px;top:6px;border:0;background:#fff;font:25px Georgia;color:#333d2b;padding:2px 8px;border-radius:50px}
.work-preview>img{width:100%;max-height:75svh;object-fit:contain;display:block;border-radius:5px}
.work-preview>p{font:10px/1.6 'IBM Plex Mono',monospace;color:#616957;margin:12px 0 0}
@media(max-width:1100px) and (min-width:651px){body[data-page=home] .interest-note{width:350px}.fan-image{width:235px;height:161px;--fan-x:-145px}.fan-image img{height:129px}.fan-image:nth-child(2){--fan-x:-62px;--fan-y:-147px}.fan-image:nth-child(3){--fan-x:52px;--fan-y:-112px}}
@media(max-width:650px){
 body[data-page=home] .interest-note{position:fixed;left:16px;right:16px;bottom:16px;width:auto;max-width:420px;margin-inline:auto;max-height:none;overflow:visible;padding:0}
 .interest-note-card{max-height:53svh;overflow:auto;padding:32px 24px 24px;border-radius:13px;box-shadow:0 8px 45px #27311e20}
 body[data-page=home] .interest-note h2{font-size:28px;margin:21px 0 16px}
 body[data-page=home] .interest-note p{font-size:12px;line-height:1.7;margin-bottom:17px}
 body[data-page=home] .interest-note .text-link{font-size:10px;margin-top:4px}
 .interest-evidence{font-size:6px;margin-bottom:13px}
 .fan-image{width:165px;height:117px;--fan-x:12px;--fan-y:-90px;--fan-r:-14deg;padding:4px 4px 0;border-radius:5px}
 .fan-image img{height:92px}
 .fan-image>span{font-size:5px;padding:7px 2px}
 .fan-image:nth-child(2){--fan-x:90px;--fan-y:-126px;--fan-r:-4deg}
 .fan-image:nth-child(3){--fan-x:calc(166px + (100vw - 390px)*.35);--fan-y:-89px;--fan-r:10deg}
 .work-preview{width:calc(100vw - 24px);max-height:calc(100svh - 40px);padding:32px 10px 12px}
 .work-preview>p{font-size:8px}
}
@media(min-width:651px){body[data-page=home] .interest-note{position:fixed;right:5vw;bottom:7vh}.interest-note-card{max-height:calc(100svh - 260px);overflow:auto}}

/* One introduction treatment across the portfolio, based on the Work reference. */
body[data-page] .page-top.page-intro{padding:105px 0 42px;max-width:none}
body[data-page] .page-intro .page-intro-content{flex:1 1 auto;min-width:0;max-width:960px}
body[data-page] .page-intro .page-intro-eyebrow{display:block;font:500 9px/1.3 'DM Sans',sans-serif;letter-spacing:.09em;color:#171915;margin:0 0 22px;text-transform:uppercase}
.page-intro-mark{display:inline-block;margin-right:12px;font-size:12px;line-height:1;vertical-align:-1px}
body[data-page] .page-intro .page-intro-copy{max-width:960px;font:400 clamp(20px,1.9vw,29px)/1.25 Georgia,serif;letter-spacing:-.045em;color:#171915}
body[data-page] .page-intro .page-intro-copy h1,body[data-page] .page-intro .page-intro-copy p,body[data-page] .page-intro .page-intro-copy h1 em{display:inline;font:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0;max-width:none}
body[data-page] .work-stage{padding-top:105px}
body[data-page] .work-stage-intro.page-intro{margin-bottom:42px}
body[data-page] .home-caption.page-intro{padding:42px 0;align-items:flex-end}
body[data-page] .home-caption.page-intro .page-intro-content{max-width:960px}
body[data-page] .home-caption.page-intro>a{flex-shrink:0}
body[data-page] .is-active .panel-caption{right:24px}
body[data-page=home] #interest-eyebrow{text-transform:none;font-size:9px;letter-spacing:.025em;line-height:1.5}
@media(max-width:1100px) and (min-width:651px){body[data-page] .page-top.page-intro{padding:75px 0 33px}body[data-page] .work-stage{padding-top:75px}body[data-page] .work-stage-intro.page-intro{margin-bottom:33px}body[data-page] .page-intro .page-intro-eyebrow{font-size:7px;margin-bottom:16px}body[data-page] .page-intro .page-intro-copy{font-size:20px}}
@media(max-width:650px){
 body[data-page] .page-top.page-intro{padding:64px 0 20px}
 body[data-page] .work-stage{padding-top:64px}
 body[data-page] .work-stage-intro.page-intro{margin-bottom:20px}
 body[data-page] .page-intro .page-intro-eyebrow{font-size:7px;letter-spacing:.075em;margin-bottom:17px}
 body[data-page] .page-intro .page-intro-copy{font-size:22px;line-height:1.26;letter-spacing:-.04em}
 body[data-page] .page-intro .page-intro-copy br{display:none}
 body[data-page] .home-caption.page-intro{padding:30px 0}
 body[data-page] .home-caption.page-intro>a{display:inline-block;margin-top:21px}
 body[data-page] .is-active .panel-caption{right:18px}
 body[data-page=home] #interest-eyebrow{font-size:8px}
}

/* The practice descriptor belongs below the name, in the shared navbar. */
body[data-page] .site-header .logo{display:block;line-height:1.05}
body[data-page] .site-header .logo:before{display:inline-block;margin-right:7px;vertical-align:-1px}
body[data-page] .site-header .logo .logo-subtitle{display:block;font:400 7px/1.5 'IBM Plex Mono',monospace;letter-spacing:.015em;margin:5px 0 0;color:#6a7060;white-space:normal;max-width:270px}
@media(max-width:650px){body[data-page] .site-header .logo .logo-subtitle{font-size:7px;letter-spacing:0;line-height:1.45;margin:4px 0 0;max-width:195px}body[data-page] .site-header .logo:before{margin-right:6px}}

/* My Working Kit: a tool case in the world; tool icons unfold around its card. */
.interest-item.uses-single-image .object-sprite img{width:100%;height:100%;object-fit:contain;transform:none}
.tool-orbit-item{--tool-x:-105px;--tool-y:8px;--tool-r:-9deg;position:absolute;top:0;left:0;width:88px;text-align:center;transform:translate(var(--tool-x),var(--tool-y)) rotate(var(--tool-r));animation:unfold-work .5s cubic-bezier(.2,.75,.2,1) both;--fan-x:var(--tool-x);--fan-y:var(--tool-y);--fan-r:var(--tool-r)}
.tool-orbit-item:nth-child(2){--tool-x:-48px;--tool-y:-121px;--tool-r:8deg;animation-delay:.04s}
.tool-orbit-item:nth-child(3){--tool-x:100px;--tool-y:-153px;--tool-r:-7deg;animation-delay:.08s}
.tool-orbit-item:nth-child(4){--tool-x:267px;--tool-y:-115px;--tool-r:10deg;animation-delay:.12s}
.tool-orbit-item:nth-child(5){--tool-x:-121px;--tool-y:168px;--tool-r:6deg;animation-delay:.16s}
.tool-emblem{display:flex;width:70px;height:70px;margin:0 auto 8px;border:1px solid #e2e4db;border-radius:19px;background:#fff;align-items:center;justify-content:center;box-shadow:0 9px 20px #28321d14}
.tool-emblem img{width:44px;height:44px;object-fit:contain}
.tool-name{display:block;font:9px/1.4 'IBM Plex Mono',monospace;color:#30382a}
.tool-orbit-item small{display:block;margin-top:3px;font:7px/1.4 'IBM Plex Mono',monospace;color:#737967}
@media(max-width:650px){
 .tool-orbit-item{width:65px;--tool-x:3px;--tool-y:-88px;--tool-r:-10deg}
 .tool-orbit-item:nth-child(2){--tool-x:69px;--tool-y:-142px;--tool-r:7deg}
 .tool-orbit-item:nth-child(3){--tool-x:148px;--tool-y:-168px;--tool-r:-6deg}
 .tool-orbit-item:nth-child(4){--tool-x:227px;--tool-y:-139px;--tool-r:9deg}
 .tool-orbit-item:nth-child(5){left:auto;right:0;--tool-x:0px;--tool-y:-96px;--tool-r:7deg}
 .tool-emblem{width:49px;height:49px;border-radius:14px;margin-bottom:6px}
 .tool-emblem img{width:31px;height:31px}
 .tool-name{font-size:7px;line-height:1.25}
 .tool-orbit-item small{display:none}
}
@media(prefers-reduced-motion:reduce){.tool-orbit-item{animation:none}}

.world-topline{justify-content:flex-end}

/* A single-screen object world, including the shared header. */
html.landing-viewport{height:100%;overflow:hidden}
body[data-page=home]{display:flex;flex-direction:column;height:calc(100dvh - 28px);min-height:0;overflow:hidden}
body[data-page=home] .site-header{flex:0 0 74px}
body[data-page=home] main{display:flex;flex-direction:column;flex:1;min-height:0;padding-bottom:14px}
body[data-page=home] .interest-world{display:flex;flex-direction:column;flex:1;min-height:0;height:auto;max-height:none;margin-top:8px}
body[data-page=home] .interest-canvas{container-type:size;flex:1;min-height:0;height:auto;margin-bottom:64px}
body[data-page=home] .interest-item{width:min(var(--size),36cqh)}
@media(min-width:1600px){body[data-page=home]{height:calc(100dvh - 36px)}}
@media(max-width:650px){
 body[data-page=home]{height:calc(100dvh - 16px)}
 body[data-page=home] .site-header{flex-basis:100px}
 body[data-page=home] main{padding-bottom:12px}
 body[data-page=home] .interest-world{margin-top:6px}
 body[data-page=home] .interest-item{width:min(calc(var(--size)*.57),22cqh)}
 body[data-page=home] .interest-tracy{width:min(210px,38cqh)}
}

/* Cards open beside their selected object; viewport edges constrain the placement. */
body[data-page=home] .interest-note{position:fixed;left:var(--note-x,16px);top:var(--note-y,116px);right:auto;bottom:auto;width:min(380px,calc(100vw - 32px));margin:0}

/* Work Snapshot links and individual case-study pages. */
body[data-page] .case-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px;width:auto;margin:0;font:11px/1.4 'DM Sans',sans-serif;order:0}
body[data-page] .case-links a{display:inline-flex;align-items:center;padding:10px 15px;border:1px solid #e0e3d9;border-radius:100px;background:#fff;white-space:nowrap;transition:background .15s,color .15s}
body[data-page] .case-links a:hover,body[data-page] .case-links a[aria-current=page]{background:#171915;color:#fff;border-color:#171915}
.archive-heading .case-links{margin-bottom:20px}
#snapshot-heading{font:400 10px/1.4 'IBM Plex Mono',monospace;letter-spacing:.07em;margin:0 0 20px;scroll-margin-top:104px}
.snapshot-media{display:block;position:relative;height:400px;background:#faf8f3;border-radius:12px;overflow:hidden}
.snapshot-media>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.snapshot-media>img.document-image{object-fit:contain;padding:14px}
.snapshot-media:hover>img{transform:scale(1.025)}
.work-entry .tag{display:inline-block;line-height:1.6}
.work-entry h2 a:hover{color:#616f48}
.case-event-art{position:relative;min-height:320px;height:100%;background:#faf8f3;overflow:hidden;border-radius:12px}
.case-event-object{position:absolute;inset:0;margin:auto;width:min(340px,75%);aspect-ratio:1;overflow:hidden}
.case-event-object>img{position:absolute;top:0;left:0;width:200%;max-width:none}
.case-art-caption{position:absolute;bottom:18px;left:20px;right:20px;font:7px/1.6 'IBM Plex Mono',monospace;letter-spacing:.06em;color:#707560}
.case-back{display:inline-block;font:11px/1.5 'DM Sans',sans-serif;border-bottom:1px solid #a4aa97;padding-bottom:5px;white-space:nowrap}
body[data-page=work] .case-study .page-top.page-intro{padding:50px 0 27px}
.case-summary{display:grid;grid-template-columns:1.6fr 1fr;gap:8%;padding-bottom:35px;align-items:start}
.case-summary>p{font:400 17px/1.75 'DM Sans',sans-serif;max-width:730px;margin:0}
.case-summary dl{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:4px 0 0}
.case-summary dt{font:8px/1.5 'IBM Plex Mono',monospace;letter-spacing:.06em;color:#747b68;margin-bottom:9px}
.case-summary dd{font:12px/1.7 'DM Sans',sans-serif;margin:0}
.case-hero{margin:0}
.case-hero>img{display:block;width:100%;height:560px;object-fit:cover;border-radius:12px;background:#faf8f3}
.case-hero.is-document>img{height:auto;max-height:680px;object-fit:contain;padding:18px}
.case-hero>.case-event-art{height:480px}
.case-hero>.image-wrap{height:480px;border-radius:12px}
.case-hero figcaption,.case-images figcaption{font:9px/1.6 'IBM Plex Mono',monospace;color:#747b68;padding:12px 0 0}
.case-story{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:45px 0}
.case-story article{padding:28px;border:1px solid #e5e7df;border-radius:12px}
.case-story h2{font:400 28px/1.15 Georgia,serif;letter-spacing:-.035em;margin:0 0 20px}
.case-story p{font-size:14px;line-height:1.8;margin:0}
.case-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:40px 0}
.case-images figure{margin:0;padding:14px;background:#faf9f5;border-radius:12px;align-self:start}
.case-images img{display:block;width:100%;height:auto;border-radius:5px}
.case-note{background:#f7f8f3;border-radius:12px;padding:25px 28px;margin:35px 0 45px}
.case-note .mono{font-size:8px;color:#6e775e}
.case-note p{font-size:12px;line-height:1.8;margin:12px 0 0;max-width:850px}
@media(max-width:900px){.case-summary{grid-template-columns:1fr;gap:25px}.case-summary dl{max-width:600px}.case-story{grid-template-columns:1fr}.case-story article{padding:25px}.case-hero>img{height:420px}}
@media(max-width:650px){
 body[data-page] .case-links{gap:6px;font-size:10px}
 body[data-page] .case-links a{padding:9px 12px}
 .archive-heading .case-links{margin-bottom:20px}
 #snapshot-heading{margin-bottom:20px;scroll-margin-top:128px}
 .snapshot-media{height:280px}
 .case-event-art{min-height:280px}
 .case-event-object{width:min(250px,78%)}
 .case-back{font-size:10px}
 body[data-page=work] .case-study .page-top.page-intro{padding:37px 0 22px}
 .case-summary{padding-bottom:27px;gap:24px}
 .case-summary>p{font-size:15px;line-height:1.75}
 .case-summary dl{gap:15px}
 .case-summary dt{font-size:7px}
 .case-summary dd{font-size:11px}
 .case-hero>img{height:280px;border-radius:10px}
 .case-hero.is-document>img{max-height:none;padding:10px}
 .case-hero>.case-event-art,.case-hero>.image-wrap{height:310px}
 .case-hero figcaption,.case-images figcaption{font-size:8px}
 .case-story{gap:14px;margin:30px 0}
 .case-story h2{font-size:26px;margin-bottom:16px}
 .case-story p{font-size:13px}
 .case-images{grid-template-columns:1fr;gap:18px;margin:30px 0}
 .case-images figure{padding:10px}
 .case-note{padding:22px;margin:28px 0 35px}
 .case-note p{font-size:11px}
}

/* Performance Design: one quiet, continuous gallery of original photographs. */
.performance-gallery{columns:3;column-gap:18px;margin:35px 0 65px}
.performance-photo{display:block;break-inside:avoid;width:100%;padding:0;margin:0 0 18px;border:0;background:none;cursor:zoom-in}
.performance-photo img{display:block;width:100%;height:auto}
.performance-photo:hover{opacity:.92}
@media(max-width:1000px){.performance-gallery{columns:2}}
.case-image-dialog{width:min(1150px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 32px);padding:14px 18px 18px;border:1px solid #e3e6dc;border-radius:14px;background:#fff;box-shadow:0 20px 80px #11180d33;overflow:auto}
.case-image-dialog::backdrop{background:#172014b8;backdrop-filter:blur(5px)}
.case-viewer-toolbar{display:flex;align-items:center;gap:8px;padding:0 0 12px}
.case-viewer-toolbar button{display:flex;align-items:center;justify-content:center;width:40px;height:36px;background:#f7f8f4;border:1px solid #e5e8de;border-radius:50px;font:20px/1 'DM Sans',sans-serif;color:#303b27}
.case-viewer-toolbar button:last-child{margin-left:auto;font-size:26px}
.case-photo-original{margin-left:auto;font:10px/1.4 'IBM Plex Mono',monospace;color:#616f48;text-underline-offset:4px}
.case-photo-original[hidden]{display:none}
.case-viewer-toolbar:has(.case-photo-original:not([hidden])) #case-photo-close{margin-left:4px}

.case-image-dialog>img{display:block;width:100%;height:calc(100dvh - 170px);object-fit:contain;background:#f9f9f5;border-radius:6px}
.case-image-dialog>p{font:10px/1.6 'IBM Plex Mono',monospace;color:#667158;margin:13px 2px 0}

/* Tracy's supplied monogram and a legible shared role subtitle. */
body[data-page] .site-header .logo{display:flex;align-items:center;gap:9px;line-height:1.05}
body[data-page] .site-header .logo:before{content:none;display:none}
body[data-page] .site-header .logo .brand-mark{display:grid;place-items:center;flex:none;width:45px;height:45px;border-radius:50%;overflow:hidden;background:#faf8f4;isolation:isolate;margin:0}
body[data-page] .site-header .brand-icon{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
body[data-page] .site-header .logo-wordmark{display:block;min-width:0}
body[data-page] .site-header .logo .logo-subtitle{font-size:11px;line-height:1.4;letter-spacing:0;margin:6px 0 0;max-width:none;white-space:nowrap}
@media(max-width:800px) and (min-width:651px){
 body[data-page] .site-header{height:100px;grid-template-columns:1fr auto;gap:7px 16px;padding-top:13px;padding-bottom:10px}
 body[data-page] .site-header nav{grid-row:2;grid-column:1/-1;justify-content:flex-end;font-size:11px;gap:26px}
 body[data-page=home] .site-header{flex-basis:100px}
}
@media(max-width:650px){
 .performance-gallery{column-gap:10px;margin:25px 0 45px}
 .performance-photo{margin-bottom:10px}
 .case-image-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 24px);padding:12px 10px 14px}
 .case-image-dialog>img{height:calc(100dvh - 160px)}
 .case-image-dialog>p{font-size:8px}
 body[data-page] .site-header .logo{gap:7px}
 body[data-page] .site-header .logo .brand-mark{width:38px;height:38px}
 body[data-page] .site-header .logo .logo-subtitle{font-size:9px;margin-top:5px;line-height:1.4}
}
@media(max-width:360px){
 body[data-page] .site-header{column-gap:10px}
 body[data-page] .site-header .logo .brand-mark{width:30px;height:30px}
 body[data-page] .site-header .logo{gap:5px;font-size:17px}
 body[data-page] .site-header .logo .logo-subtitle{font-size:8px}
 body[data-page] .site-header .contact{padding-inline:10px;font-size:9px}
}

/* The tiny theatre responds like a stage when someone explores it. */
.interest-performance .stage-lighting{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.interest-performance .stage-glow{opacity:0;mix-blend-mode:screen;transition:opacity .28s ease;filter:drop-shadow(0 0 3px #ffdc99)}
.interest-performance .object-sprite img{filter:brightness(.91);transition:filter .28s ease}
.interest-performance:is(:hover,:focus-visible,[aria-expanded=true]) .stage-glow{opacity:1}
.interest-performance:is(:hover,:focus-visible,[aria-expanded=true]) .object-sprite img{filter:brightness(1.08) saturate(1.07)}
@media(prefers-reduced-motion:reduce){.interest-performance .stage-glow,.interest-performance .object-sprite img{transition:none}}

/* A tiny runner crosses the finish arch on hover, focus or click. */
.interest-events .race-scene{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:hidden}
.race-runner{opacity:0}
.runner-bob{transform-origin:0 0}
.runner-shirt{fill:#f5e9cd;stroke:#d7c6a4;stroke-width:.45}
.runner-arm,.runner-leg{fill:none;stroke:#ba815a;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round;transform-origin:0 -10px}
.runner-arm{stroke-width:2.3;transform-origin:0 -18px}
.runner-arm-back,.runner-leg-back{stroke:#93664b}
.runner-leg .runner-shoe{stroke:#eee9dd;stroke-width:2}
.interest-events.is-running .race-runner{animation:finish-run 2.6s ease-in forwards}
.interest-events.is-running .runner-bob{animation:runner-bounce .23s ease-in-out infinite alternate}
.interest-events.is-running .runner-arm-front,.interest-events.is-running .runner-leg-back{animation:runner-stride .25s ease-in-out infinite alternate}
.interest-events.is-running .runner-arm-back,.interest-events.is-running .runner-leg-front{animation:runner-stride .25s ease-in-out infinite alternate-reverse}
@keyframes finish-run{0%{opacity:0;transform:translate(58px,59px) scale(.45)}8%{opacity:1}65%{opacity:1;transform:translate(42px,73px) scale(.72)}88%{opacity:1}100%{opacity:0;transform:translate(26px,85px) scale(1)}}
@keyframes runner-stride{from{transform:rotate(-25deg)}to{transform:rotate(25deg)}}
@keyframes runner-bounce{from{transform:translateY(0)}to{transform:translateY(-1.2px)}}
@media(prefers-reduced-motion:reduce){.interest-events.is-running .race-runner{animation:none;opacity:1;transform:translate(42px,73px) scale(.72)}.interest-events.is-running .runner-bob,.interest-events.is-running .runner-arm,.interest-events.is-running .runner-leg{animation:none}}

/* Marathon case study: source photography, clear journeys and quiet editorial grids. */
.event-meta{display:flex;flex-wrap:wrap;gap:20px 65px;margin:0 0 32px}
.event-meta dt{font:8px/1.5 'IBM Plex Mono',monospace;color:#747b68;margin-bottom:7px;letter-spacing:.05em}
.event-meta dd{font:12px/1.7 'DM Sans',sans-serif;margin:0}
.event-hero{margin:0}
.event-hero button,.event-image-grid button{display:block;border:0;padding:0;background:transparent;width:100%;cursor:zoom-in}
.event-hero img{display:block;width:100%;height:auto;border-radius:12px}
.event-hero figcaption,.event-image-grid figcaption{font:9px/1.65 'IBM Plex Mono',monospace;color:#747b68;padding:12px 0 0}
.event-impact{margin:40px 0 65px}
.event-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;padding:0 0 22px}
.event-metrics strong{display:block;font:400 clamp(24px,3vw,44px)/1.2 Georgia,serif;letter-spacing:-.045em;margin-bottom:12px}
.event-metrics span{display:block;font:12px/1.6 'DM Sans',sans-serif;color:#626b58;max-width:210px}
.event-impact>small{font:8px/1.6 'IBM Plex Mono',monospace;color:#858b7d}
.event-chapter{border-top:1px solid #e2e5dc;padding:48px 0 0;margin:0 0 65px}
.event-heading{display:grid;grid-template-columns:.65fr 1.3fr 1.5fr;gap:35px;align-items:start;margin-bottom:34px}
.event-heading>.mono{font-size:8px;color:#747b68;line-height:1.8;padding-top:6px}
.event-heading h2{font:400 36px/1.13 Georgia,serif;letter-spacing:-.045em;margin:0}
.event-heading h2 em{font-weight:400}
.event-heading>p{font:15px/1.8 'DM Sans',sans-serif;margin:0;max-width:540px}
.event-goals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}
.event-goals article,.event-stakeholders article,.event-delivery article{padding:23px 0;border-top:1px solid #e2e5dc}
.event-chapter h3{font:400 24px/1.25 Georgia,serif;letter-spacing:-.025em;margin:0 0 15px}
.event-goals p,.event-stakeholders p,.event-delivery p{font:14px/1.8 'DM Sans',sans-serif;margin:0;max-width:570px}
.event-stakeholders,.event-delivery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 60px}
.event-image-grid{columns:3;column-gap:22px}
.event-image-grid figure{margin:0 0 27px;break-inside:avoid}
.event-image-grid img{display:block;width:100%;height:auto}
.event-image-grid button:hover{opacity:.93}
.event-journey{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:25px;list-style:none;padding:0;margin:0 0 35px}
.event-journey li{border-top:2px solid #a5ad96;padding-top:19px}
.event-journey h3{font-size:23px}
.event-journey p{font:12px/1.8 'DM Sans',sans-serif;margin:0}
.event-journey-images{columns:3}
.event-delivery{margin-bottom:25px}
@media(max-width:1000px){
 .event-heading{grid-template-columns:1fr 1.5fr;gap:20px 35px}
 .event-heading>.mono{grid-column:1/-1}
 .event-metrics{gap:22px}
 .event-image-grid{columns:2}
 .event-journey{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
}
@media(max-width:650px){
 .event-meta{display:grid;gap:17px;margin-bottom:25px}
 .event-meta dt{font-size:7px}
 .event-meta dd{font-size:11px}
 .event-hero img{border-radius:8px}
 .event-hero figcaption,.event-image-grid figcaption{font-size:7px;padding-top:8px}
 .event-impact{margin:28px 0 38px}
 .event-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 18px;padding-bottom:17px}
 .event-metrics strong{font-size:26px;margin-bottom:8px}
 .event-metrics span{font-size:11px;line-height:1.6}
 .event-impact>small{font-size:7px}
 .event-chapter{padding-top:30px;margin-bottom:40px}
 .event-heading{display:block;margin-bottom:25px}
 .event-heading>.mono{display:block;font-size:7px;margin-bottom:17px;padding:0}
 .event-heading h2{font-size:30px;line-height:1.15;margin-bottom:19px}
 .event-heading>p{font-size:14px;line-height:1.8}
 .event-goals,.event-stakeholders,.event-delivery{grid-template-columns:1fr;gap:0}
 .event-goals article,.event-stakeholders article,.event-delivery article{padding:20px 0}
 .event-chapter h3{font-size:23px;margin-bottom:12px}
 .event-goals p,.event-stakeholders p,.event-delivery p{font-size:13px}
 .event-image-grid{column-gap:12px}
 .event-image-grid figure{margin-bottom:20px}
 .event-journey{grid-template-columns:1fr;gap:22px}
 .event-journey li{padding-top:15px}
 .event-journey p{font-size:13px}
}

/* Materials: waste ingredients become a printed vase. */
.interest-materials .object-sprite{overflow:visible}
.interest-materials .object-sprite>img{display:none}
.material-transformation,.material-printer{position:absolute;inset:0;display:block}
.interest-materials .object-sprite .material-transformation img{width:100%;height:100%;object-fit:contain;inset:0;transform:none}
.material-raw{opacity:1;transition:opacity .35s,scale .5s}
.material-printer{opacity:0;transform:translateY(6px) scale(.92);transition:opacity .4s,transform .5s}
.material-print{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.printed-vase{clip-path:inset(100% 0 0 0)}
.print-beam,.print-scan{opacity:0}
.interest-materials:is(:hover,:focus-visible,[aria-expanded="true"]) .material-raw{opacity:0;scale:.85}
.interest-materials:is(:hover,:focus-visible,[aria-expanded="true"]) .material-printer{opacity:1;transform:none}
.interest-materials:is(:hover,:focus-visible,[aria-expanded="true"]) .printed-vase{animation:material-build 5s .35s ease-in-out both}
.interest-materials:is(:hover,:focus-visible,[aria-expanded="true"]) .print-scan{animation:material-scan 5s .35s ease-in-out both}
.interest-materials:is(:hover,:focus-visible,[aria-expanded="true"]) .print-beam{animation:material-beam 5s .35s ease-in-out both;transform-origin:61px 42px}
@keyframes material-build{0%,8%{clip-path:inset(100% 0 0 0)}85%,100%{clip-path:inset(0% 0 0 0)}}
@keyframes material-scan{0%{opacity:0;transform:translate(0,73px)}8%{opacity:1;transform:translate(-2px,72px)}30%{transform:translate(2px,66px)}50%{transform:translate(-2px,59px)}70%{transform:translate(2px,52px);opacity:1}85%{transform:translate(0,48px);opacity:1}100%{transform:translate(0,48px);opacity:0}}
@keyframes material-beam{0%{opacity:0;transform:scaleY(1)}8%{opacity:.85}85%{opacity:.85;transform:scaleY(.2)}100%{opacity:0;transform:scaleY(.2)}}
@media(prefers-reduced-motion:reduce){.material-raw,.material-printer{transition:none}.interest-materials:is(:hover,:focus-visible,[aria-expanded="true"]) .printed-vase{animation:none;clip-path:none}.interest-materials .print-scan,.interest-materials .print-beam{animation:none!important;opacity:0}}

/* Bambu enclosure: keep the growing vase within the print chamber. */
.interest-materials .material-raw{object-position:center;transform:translateY(-12%)!important}
.material-print{transform:translate(-.5%,-17%)}


/* Original toolkit artwork, separated into matching animated layers. */
.interest-kit .object-sprite{overflow:visible;perspective:600px}
.interest-kit .object-sprite>img{transition:opacity .35s}
.kit-live{position:absolute;inset:0;opacity:0;transition:opacity .35s;perspective:600px;pointer-events:none}
.kit-photo-turn{position:absolute;inset:0;transform-style:preserve-3d}
.interest-kit.uses-single-image .kit-live img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform:none}
.kit-photo-tool{position:absolute;inset:0;transform-style:preserve-3d}
.kit-photo-loop{transform-origin:62% 67%}.kit-photo-knife{transform-origin:57% 67%}.kit-photo-small-loop{transform-origin:50% 68%}.kit-photo-stylus{transform-origin:78% 50%}
/* Only the original tools move; palette, clay and tablet remain anchored. */
.kit-photo-trails{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.kit-photo-loop{transform-origin:47% 51%}.kit-photo-knife{transform-origin:41% 55%}.kit-photo-small-loop{transform-origin:38.5% 60.5%}.kit-photo-stylus{transform-origin:71.2% 63.6%}
.kit-magic-track{opacity:0;--ribbon:#b39655}
.kit-magic-track:nth-of-type(2){--ribbon:#8fa87b}.kit-magic-track:nth-of-type(3){--ribbon:#c99576}.kit-magic-track:nth-of-type(4){--ribbon:#b6a068}
.kit-ribbon,.kit-ribbon-glow,.kit-ribbon-core{fill:none;stroke:var(--ribbon);stroke-linecap:round;stroke-width:1.15}
.kit-ribbon{stroke-width:2.2;opacity:1;filter:drop-shadow(0 0 1px var(--ribbon))}.kit-ribbon-glow{stroke-width:8;opacity:.85;filter:url(#kit-fairy-glow)}
.kit-ribbon-core{stroke:#fff6c9;stroke-width:.85;opacity:1;filter:drop-shadow(0 0 1px #fff1ac)}
.kit-tip-halo{fill:#ffe4a0;opacity:.95;filter:url(#kit-fairy-glow)}
.kit-fairy-spark{fill:#ffe6a1;filter:drop-shadow(0 0 1px #d8ae55)}
.interest-kit.is-creating .object-sprite>img{opacity:0}
.interest-kit.is-creating .kit-live{opacity:1}
.kit-photo-turn{transform:none;animation:none}
@media(prefers-reduced-motion:reduce){.interest-kit.is-creating .object-sprite>img{opacity:1}.interest-kit.is-creating .kit-live{display:none}.kit-live *{animation:none!important}.interest-kit .object-sprite>img{transition:none}}
@media(max-width:650px){.interest-kit[aria-expanded="true"]{position:fixed;left:50%!important;top:22%!important;z-index:8;width:105px}.interest-kit[aria-expanded="true"] .object-label{visibility:hidden}}

/* Sustainable living: same garden, from seedlings to a productive harvest. */
.interest-sustainable .object-sprite{overflow:visible}
.interest-sustainable .object-label{max-width:none;font-size:6.8px;white-space:nowrap}
.interest-sustainable.uses-single-image .object-sprite>img{transform:none;transition:opacity 1.6s ease}
.interest-sustainable .garden-grown{opacity:0}
.interest-sustainable:is(:focus-visible,[aria-expanded="true"]) .object-sprite>img:first-child{opacity:0}
.interest-sustainable:is(:focus-visible,[aria-expanded="true"]) .garden-grown{opacity:1}
@media(hover:hover){.interest-sustainable:hover .object-sprite>img:first-child{opacity:0}.interest-sustainable:hover .garden-grown{opacity:1}}
@media(max-width:650px){.interest-sustainable .object-label{font-size:5.2px;padding:3px 4px}.interest-sustainable[aria-expanded="true"]{position:fixed;left:50%!important;top:22%!important;z-index:8;width:105px}.interest-sustainable[aria-expanded="true"] .object-label{visibility:hidden}}
@media(prefers-reduced-motion:reduce){.interest-sustainable.uses-single-image .object-sprite>img{transition:none}}

/* Matching craft tools remain present in both toolkit states. */
.interest-kit.uses-single-image .object-sprite>.kit-extra-tools{left:-6%;top:30%;width:49%;height:49%;object-fit:contain;transform:rotate(-12deg);opacity:1;z-index:2;transition:none}
.interest-kit.is-creating .object-sprite>.kit-extra-tools{opacity:1}
/* Paired floor lights accompany the runner, rather than flashing together. */
.race-floor-lens{fill:#736c54;opacity:.32}
.race-floor-lit{opacity:0}
.interest-events.is-running .race-floor-lit{animation:race-light-pass .7s ease-out both;animation-delay:var(--light-delay)}
@keyframes race-light-pass{0%{opacity:0}12%,40%{opacity:1}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.interest-events.is-running .race-floor-lit{animation:none;opacity:.45}}
/* Positions come from the current composition, replacing old mobile offsets. */
@media(max-width:650px){body[data-page=home] .interest-canvas>.interest-item{left:var(--x);top:var(--y)}}

/* Ideas become cinematic presentations; physical games become musical worlds. */
.interest-pitches .object-sprite,.interest-games .object-sprite{overflow:visible}
.interest-pitches .object-label{font-size:7px;max-width:none}
.interest-pitches.uses-single-image .object-sprite>img,.interest-games.uses-single-image .object-sprite>img{transition:opacity .65s,filter .65s;transform:none}
.pitch-cinema,.music-world{position:absolute;inset:0;display:block;opacity:0;transition:opacity .7s,transform .9s cubic-bezier(.2,.7,.2,1);transform:translateY(7px) scale(.9)}
.interest-pitches.uses-single-image .pitch-cinema img,.interest-games.uses-single-image .music-world img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform:none}
.interest-item.is-awake .object-sprite>img{opacity:0}
.interest-pitches.is-awake .pitch-cinema,.interest-games.is-awake .music-world{opacity:1;transform:none}
.pitch-screen-window{position:absolute;inset:0;clip-path:polygon(18.5% 18.2%,83% 21.7%,83% 53%,18.5% 48.8%);overflow:hidden}
.interest-pitches.is-awake .pitch-screen-window>img{animation:pitch-camera-pan 12s ease-in-out infinite;transform-origin:52% 36%}
.pitch-film-slide{position:absolute;inset:0;opacity:0;background:#eee7d9}
.pitch-film-a i{position:absolute;background:#85936e;left:25%;top:23%;width:15%;height:18%;border-radius:70% 0 0 0}
.pitch-film-a i:nth-child(2){left:44%;top:31%;width:17%;height:14%;border-radius:0;background:#b8bfa7}.pitch-film-a i:nth-child(3){left:66%;top:28%;width:10%;height:10%;border-radius:50%;background:#c18b65}
.pitch-film-b{background:#343f32e8}.pitch-film-b svg{position:absolute;left:21%;top:24%;width:58%;height:24%;overflow:visible}.pitch-film-b path{fill:none;stroke:#e5d6b2;stroke-width:1.1;stroke-dasharray:130;stroke-dashoffset:130}.pitch-film-b circle{fill:#d2aa70}
.interest-pitches.is-awake .pitch-film-a{animation:pitch-frame-a 12s ease-in-out infinite}
.interest-pitches.is-awake .pitch-film-b{animation:pitch-frame-b 12s ease-in-out infinite}
.interest-pitches.is-awake .pitch-film-b path{animation:pitch-story-line 12s ease-in-out infinite}
.pitch-projection-glow{position:absolute;left:17%;top:18%;width:67%;height:36%;background:linear-gradient(110deg,transparent 20%,#fff2bd55 47%,transparent 65%);clip-path:polygon(0 0,100% 10%,100% 100%,0 88%);opacity:0;pointer-events:none}
.interest-pitches.is-awake .pitch-projection-glow{animation:pitch-projector 6s ease-in-out infinite}
@keyframes pitch-camera-pan{0%,100%{transform:scale(1.02) translateX(0)}50%{transform:scale(1.12) translateX(-1%)}}
@keyframes pitch-frame-a{0%,30%,68%,100%{opacity:0;transform:translateX(8px)}38%,57%{opacity:1;transform:none}}
@keyframes pitch-frame-b{0%,58%,96%,100%{opacity:0}67%,86%{opacity:1}}
@keyframes pitch-story-line{0%,60%{stroke-dashoffset:130}82%,100%{stroke-dashoffset:0}}
@keyframes pitch-projector{0%,100%{opacity:.08}50%{opacity:.55}}
.music-beats{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.music-beat{transform-box:fill-box;transform-origin:center;opacity:0}
.music-beat circle:first-child{fill:none;stroke:#a9c1b5;stroke-width:.9}.music-beat circle:last-child{fill:#f8e8b3;filter:drop-shadow(0 0 2px #f6dfad)}
.music-sound-wave{fill:none;stroke:#b8cbbe;stroke-width:.75;stroke-dasharray:95;stroke-dashoffset:95;opacity:0}
.interest-games.is-awake .music-beat{animation:music-rhythm 2.8s ease-out infinite}.interest-games.is-awake .beat-two{animation-delay:.8s}.interest-games.is-awake .beat-three{animation-delay:1.6s}
.interest-games.is-awake .music-sound-wave{animation:music-wave 5s ease-in-out infinite}
@keyframes music-rhythm{0%{opacity:0;transform:scale(.45)}25%{opacity:.9}100%{opacity:0;transform:scale(1.7)}}
@keyframes music-wave{0%,100%{opacity:0;stroke-dashoffset:95}25%{opacity:.7}80%{opacity:.6;stroke-dashoffset:0}}
@media(max-width:650px){.interest-pitches .object-label{font-size:5.2px}.interest-games .object-label{font-size:5.5px}.interest-pitches[aria-expanded="true"],.interest-games[aria-expanded="true"]{position:fixed;left:50%!important;top:22%!important;z-index:8;width:115px}.interest-pitches[aria-expanded="true"] .object-label,.interest-games[aria-expanded="true"] .object-label{visibility:hidden}}
@media(prefers-reduced-motion:reduce){.pitch-cinema,.music-world,.interest-pitches.uses-single-image .object-sprite>img,.interest-games.uses-single-image .object-sprite>img{transition:none}.pitch-cinema *,.music-world *{animation:none!important}.pitch-screen-window{display:none}.music-beat{opacity:.4}.music-sound-wave{display:none}}

/* Direct case studies and four practice pages, 23 October 2026. */
body[data-page] .case-category-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;gap:10px}
body[data-page] .case-category-links a{white-space:normal;line-height:1.4;display:flex;align-items:center;padding:14px 18px;border-radius:16px}
body[data-page] .case-category-links a[aria-current="page"]{background:#eef0e7;border-color:#64754c;color:#273b2d}
body[data-page] .case-project-links{margin:20px 0 0;justify-content:flex-start;flex-wrap:wrap}
@media(max-width:700px){body[data-page] .case-category-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}body[data-page] .case-category-links a{font-size:12px;padding:12px}}

/* Performance: large original-resolution photographs. */
.case-study[data-project="performance"] .performance-gallery{columns:auto;display:flex;flex-direction:column;gap:32px;margin:40px 0 70px}
.case-study[data-project="performance"] .performance-photo{margin:0;width:100%}
.case-study[data-project="performance"] .performance-photo img{width:100%;height:auto;object-fit:contain}
@media(max-width:650px){.case-study[data-project="performance"] .performance-gallery{gap:18px;margin:28px 0 45px}}

/* Marathon: one readable story with a consistent editorial hierarchy. */
.case-study[data-project="marathon"] .marathon-intro{padding:72px 0 38px;max-width:900px}
.marathon-intro>.mono{font-size:10px;letter-spacing:.09em;color:#616f48}
.case-study[data-project="marathon"] .marathon-intro h1{font:400 clamp(40px,5vw,72px)/1.06 Georgia,serif;letter-spacing:-.045em;margin:24px 0 36px;max-width:850px}
.marathon-intro h1 span{display:block;color:#68745a}
.case-study[data-project="marathon"] .marathon-intro h2{font:500 23px/1.4 'DM Sans',sans-serif;letter-spacing:-.025em;margin:0 0 16px;max-width:740px}
.marathon-intro>p{font:400 17px/1.85 'DM Sans',sans-serif;max-width:740px;margin:0;color:#454b40}
.marathon-details{display:grid;grid-template-columns:1fr 1.3fr 1.1fr 1fr;gap:30px;border-top:1px solid #dfe3d8;padding:25px 0 36px;margin:0}
.marathon-details dt{font:10px/1.5 'IBM Plex Mono',monospace;letter-spacing:.06em;color:#69735d;margin-bottom:10px}
.marathon-details dd{font:14px/1.7 'DM Sans',sans-serif;margin:0;max-width:260px}
.case-study[data-project="marathon"] .event-hero img{border-radius:0}
.case-study[data-project="marathon"] .event-impact{margin:44px 0 88px;padding:30px 0;border-block:1px solid #dfe3d8}
.case-study[data-project="marathon"] .event-chapter{padding-top:42px;margin-bottom:88px}
.case-study[data-project="marathon"] .event-heading{display:block;max-width:740px;margin-bottom:38px}
.case-study[data-project="marathon"] .event-heading>.mono{display:block;font-size:10px;letter-spacing:.08em;padding:0;margin-bottom:18px}
.case-study[data-project="marathon"] .event-heading h2{font-size:clamp(32px,3.3vw,46px);line-height:1.15;margin:0 0 22px}
.case-study[data-project="marathon"] .event-heading h2 br{display:none}
.case-study[data-project="marathon"] .event-heading h2 em{font-style:normal}
.case-study[data-project="marathon"] .event-heading p{font-size:16px;line-height:1.85;max-width:680px}
.case-study[data-project="marathon"] .event-chapter h3{font:500 19px/1.4 'DM Sans',sans-serif;letter-spacing:-.02em;margin-bottom:12px}
.case-study[data-project="marathon"] .event-image-grid{columns:2;column-gap:28px}
.case-study[data-project="marathon"] .event-image-grid figure{margin-bottom:32px}
.case-study[data-project="marathon"] .event-journey{grid-template-columns:1fr;gap:0;max-width:800px;counter-reset:journey}
.case-study[data-project="marathon"] .event-journey li{display:grid;grid-template-columns:36px 110px 1fr;gap:18px;border-top:1px solid #dfe3d8;padding:22px 0;counter-increment:journey}
.case-study[data-project="marathon"] .event-journey li:before{content:counter(journey,decimal-leading-zero);font:12px/2 'IBM Plex Mono',monospace;color:#69735d}
.case-study[data-project="marathon"] .event-journey p{font-size:14px;line-height:1.8}
@media(max-width:800px){.marathon-details{grid-template-columns:1fr 1fr;gap:24px}.case-study[data-project="marathon"] .marathon-intro{padding-top:44px}}
@media(max-width:650px){.case-study[data-project="marathon"] .marathon-intro{padding:38px 0 28px}.case-study[data-project="marathon"] .marathon-intro h1{font-size:40px;margin:20px 0 28px}.case-study[data-project="marathon"] .marathon-intro h2{font-size:20px}.marathon-intro>p{font-size:15px;line-height:1.8}.marathon-details{gap:24px 18px;padding:24px 0 30px}.marathon-details dd{font-size:12px}.marathon-details dt{font-size:9px}.case-study[data-project="marathon"] .event-image-grid{columns:1}.case-study[data-project="marathon"] .event-chapter{margin-bottom:52px;padding-top:30px}.case-study[data-project="marathon"] .event-journey li{grid-template-columns:28px 1fr;gap:8px 12px}.case-study[data-project="marathon"] .event-journey p{grid-column:2}.case-study[data-project="marathon"] .event-impact{margin:32px 0 52px}}

/* The same additional craft tools now dance independently. */
.interest-kit .object-sprite>.kit-extra-tools{position:absolute;left:-6%;top:30%;width:49%;height:49%;transform:rotate(-12deg);z-index:2;pointer-events:none}
.kit-extra-piece{position:absolute;inset:0;display:block}
.interest-kit.uses-single-image .kit-extra-piece>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform:none}
.kit-hammer>img{clip-path:polygon(8% 81%,12% 89%,20% 92%,72% 38%,87% 29%,88% 23%,77% 13%,68% 10%,63% 5%,56% 3%,49% 5%,46% 13%,50% 24%)}
.kit-scissors>img{clip-path:polygon(33% 91%,36% 85%,52% 66%,58% 61%,59% 50%,63% 40%,73% 34%,80% 35%,84% 45%,89% 44%,95% 49%,95% 60%,91% 69%,80% 73%,65% 67%,39% 91%)}
.kit-hammer{transform-origin:62% 20%}.kit-scissors{transform-origin:58% 65%}
.interest-kit.is-creating .kit-hammer{animation:kit-hammer-dance 6.5s ease-in-out infinite}
.interest-kit.is-creating .kit-scissors{animation:kit-scissors-dance 5.8s ease-in-out infinite}
@keyframes kit-hammer-dance{0%,100%{transform:translate(0,0) rotate(0)}25%{transform:translate(-15%,-52%) rotate(-24deg)}50%{transform:translate(24%,-76%) rotate(19deg)}75%{transform:translate(8%,-38%) rotate(-12deg)}}
@keyframes kit-scissors-dance{0%,100%{transform:translate(0,0) rotate(0)}30%{transform:translate(38%,-35%) rotate(28deg)}60%{transform:translate(5%,-90%) rotate(-23deg)}80%{transform:translate(-18%,-45%) rotate(12deg)}}
/* Presentation screen only, without the former paper and bulb props. */
.pitch-screen-window{clip-path:polygon(15% 24%,84.5% 28%,84.5% 67%,15% 61%)}
.pitch-film-a i{top:30%}.pitch-film-a i:nth-child(2){top:42%}.pitch-film-a i:nth-child(3){top:34%}
.pitch-film-b svg{top:32%;height:27%}
.pitch-projection-glow{left:15%;top:24%;width:70%;height:43%}
/* Physical safari experience becomes desktop, mobile and connected services. */
.interest-digital .object-sprite{overflow:visible}
.interest-digital .object-label{font-size:6.5px;max-width:none}
.interest-digital.uses-single-image .object-sprite>img{transform:none;transition:opacity .75s ease}
.digital-ecosystem{position:absolute;inset:0;opacity:0;transform:translateY(8px) scale(.9);transition:opacity .8s,transform 1s cubic-bezier(.2,.7,.2,1)}
.interest-digital.uses-single-image .digital-ecosystem>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform:none}
.interest-digital.is-awake .digital-ecosystem{opacity:1;transform:none}
.digital-network{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.digital-network path{fill:none;stroke:#adc2a1;stroke-width:.8;stroke-dasharray:140;stroke-dashoffset:140;opacity:0}.digital-network circle{fill:#f4dfae;opacity:0}
.interest-digital.is-awake .digital-network path{animation:digital-connect 4s ease-in-out infinite}
.interest-digital.is-awake .digital-network circle{animation:digital-datum 3s ease-in-out infinite}.digital-network circle:nth-child(3){animation-delay:.5s!important}.digital-network circle:nth-child(4){animation-delay:1s!important}
.digital-chat-pulse{position:absolute;left:17%;top:16%;width:9%;height:2%;border-radius:100%;background:radial-gradient(circle,#8a9e72 25%,transparent 30%) 0 0/33% 100%;opacity:0}
.interest-digital.is-awake .digital-chat-pulse{animation:digital-datum 1.8s ease-in-out infinite}
@keyframes digital-connect{0%{stroke-dashoffset:140;opacity:0}20%{opacity:.8}80%{stroke-dashoffset:0;opacity:.8}100%{stroke-dashoffset:0;opacity:0}}
@keyframes digital-datum{0%,100%{opacity:.2}50%{opacity:1}}
@media(max-width:650px){.interest-digital .object-label{font-size:4.8px;padding:3px 4px}.interest-digital[aria-expanded="true"]{position:fixed;left:50%!important;top:22%!important;z-index:8;width:115px}.interest-digital[aria-expanded="true"] .object-label{visibility:hidden}}
@media(prefers-reduced-motion:reduce){.kit-extra-piece{animation:none!important}.digital-ecosystem,.interest-digital.uses-single-image .object-sprite>img{transition:none}.digital-network *,.digital-chat-pulse{animation:none!important}}

/* Shared animated homepage artwork in case-study category navigation. */
body[data-page] .case-category-links a{gap:10px;padding:10px 12px;color:#273b2d;min-width:0}
body[data-page] .case-category-links a:hover{background:#eef0e7;border-color:#64754c}
body[data-page] .case-category-links .category-icon{position:relative;inset:auto;transform:none;flex:0 0 68px;width:68px;height:68px;pointer-events:none;touch-action:auto}
.case-category-links .category-icon .object-sprite{transform:none}
.case-category-links .interest-performance .stage-glow{opacity:1}
.case-category-links .interest-performance .object-sprite img{filter:brightness(1.08) saturate(1.07)}
.case-category-links .interest-events.is-running .race-runner{animation-iteration-count:infinite}
@media(max-width:700px){body[data-page] .case-category-links a{flex-direction:column;align-items:flex-start;gap:4px;font-size:12px;padding:10px}body[data-page] .case-category-links .category-icon{flex-basis:58px;width:58px;height:58px}}

/* Spotlight the selected homepage object and its story. */
.interest-backdrop{position:fixed;inset:-100vmax;z-index:6;background:rgba(12,17,14,.78);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s;cursor:pointer}
.has-open-interest .interest-backdrop{opacity:1;visibility:visible;pointer-events:auto}
body[data-page=home] .has-open-interest .interest-item[aria-expanded="true"]{z-index:8}
.has-open-interest .interest-item[aria-expanded="true"] .object-sprite{filter:brightness(1.12) drop-shadow(0 0 18px rgba(255,226,160,.38))}
body[data-page=home] .has-open-interest .interest-note{z-index:10}
.has-open-interest .interest-note-card{box-shadow:0 18px 70px #0006}
@media(prefers-reduced-motion:reduce){.interest-backdrop{transition:none}}
body[data-page=home]:has(.has-open-interest) .site-header{filter:brightness(.28);transition:filter .25s ease}
@media(prefers-reduced-motion:reduce){body[data-page=home]:has(.has-open-interest) .site-header{transition:none}}
@media(max-width:650px){body[data-page=home] .has-open-interest .interest-item[aria-expanded="true"]{position:fixed;left:50%!important;top:22%!important;width:115px}body[data-page=home] .has-open-interest .interest-item[aria-expanded="true"] .object-label{visibility:hidden}}
/* Let each label's frame grow to enclose its full text. */
body[data-page=home] .object-label{display:flex;width:max-content;max-width:none;position:relative;left:50%;transform:translateX(-50%)}

/* Full-body portrait cutout replaces the original atlas avatar. */
.interest-tracy.uses-single-image .object-sprite{aspect-ratio:2 / 3}

/* Slightly smaller central portrait on desktop and mobile. */
.interest-tracy.uses-single-image .object-sprite{scale:.76}

/* Matched design / delivery evidence reads left to right. */
.case-study[data-project="marathon"] .event-evidence-pair{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start;margin-bottom:36px}
.event-evidence-pair figure{margin:0}
.event-evidence-pair button{display:block;width:100%;border:0;padding:0;background:transparent;cursor:zoom-in}
.event-evidence-pair img{display:block;width:100%;height:auto}
.event-evidence-pair figcaption{font:10px/1.7 'IBM Plex Mono',monospace;color:#69735d;margin-top:12px}
.case-study[data-project="marathon"] .event-closing{max-width:800px}
@media(max-width:650px){.case-study[data-project="marathon"] .event-evidence-pair{grid-template-columns:1fr;gap:28px}}

/* Work-page ending: the four illustrated category cards. */
.case-more-work{border-top:1px solid var(--line);margin-top:45px;padding:36px 0 65px}
.case-more-work h2{font:400 28px/1.2 Georgia,serif;letter-spacing:-.035em;margin:0 0 22px}
@media(max-width:650px){
 .case-more-work{margin-top:32px;padding:28px 0 40px}
 .case-more-work h2{font-size:26px;margin-bottom:12px}
}

/* Collaboration archive: retain the supplied photographs in full. */
.collaboration-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:0 0 48px;align-items:start}
.collaboration-photos figure{margin:0;overflow:hidden;border-radius:12px;background:#f7f7f4}
.collaboration-photos img{display:block;width:100%;height:auto}
@media(max-width:700px){.collaboration-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-bottom:32px}}

/* Endorsements: original client words and uncropped company identities. */
body[data-page=endorsement] main{padding:0 5%}
.endorsements-intro{padding:65px 0 48px;border-bottom:1px solid #dedfd6}
.endorsements-intro>.mono{font-size:9px;letter-spacing:.08em;color:#727b64}
.endorsements-intro h1{font:400 clamp(38px,5.3vw,72px)/1.05 Georgia,serif;letter-spacing:-.05em;margin:25px 0}
.endorsements-intro>p{font:14px/1.8 'DM Sans',sans-serif;max-width:630px;color:#626a58;margin:0}
.endorsements-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 65px;padding:20px 0 0}
.endorsement-card{margin:0;padding:36px 0 38px;border-bottom:1px solid #dedfd6;display:flex;flex-direction:column}
.endorsement-context{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:88px;margin-bottom:26px}
.endorsement-context img{width:88px;height:88px;object-fit:contain;border-radius:5px;background:#fff;flex-shrink:0}
.endorsement-context>span{font:8px/1.6 'IBM Plex Mono',monospace;color:#78806d;max-width:175px;text-align:right}
.endorsement-card blockquote{margin:0 0 28px;flex:1}
.endorsement-card blockquote p{font:400 clamp(18px,1.8vw,24px)/1.5 Georgia,serif;letter-spacing:-.015em;margin:0;color:#30372b}
.endorsement-card figcaption{display:flex;flex-direction:column;gap:5px;font:11px/1.5 'DM Sans',sans-serif;color:#78806d}
.endorsement-card figcaption strong{color:#30372b;font-size:13px;font-weight:600;margin-bottom:2px}
.endorsements-end{padding:60px 0 70px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.endorsements-end h2{font:400 40px/1.1 Georgia,serif;letter-spacing:-.04em;margin:0}
@media(max-width:650px){body[data-page=endorsement] main{padding:0 6%}.endorsements-intro{padding:35px 0 28px}.endorsements-intro h1{font-size:38px;margin:20px 0}.endorsements-intro>p{font-size:12px}.endorsements-grid{grid-template-columns:1fr;padding:0}.endorsement-card{padding:28px 0}.endorsement-context{margin-bottom:20px;gap:20px}.endorsement-context img{width:76px;height:76px}.endorsement-context>span{font-size:7px}.endorsement-card blockquote p{font-size:20px}.endorsements-end{padding:35px 0 45px;align-items:flex-start;flex-direction:column}.endorsements-end h2{font-size:34px}body[data-page=home] header nav{gap:15px;font-size:9px}}

/* Teaching archive replaces the enlarged game illustration. */
.teaching-gallery-intro{border-top:1px solid #e0e3d9;padding-top:32px;margin-top:12px}
.teaching-gallery-intro>.mono{font-size:10px;color:#69735d}
.teaching-gallery-intro h2{font:400 32px/1.25 Georgia,serif;letter-spacing:-.035em;margin:18px 0 28px}
.case-study[data-project="games"] .performance-gallery{columns:2;column-gap:28px;margin-top:0}
.case-study[data-project="games"] .performance-photo{margin-bottom:28px}
.case-study[data-project="games"] .performance-photo img{height:auto;width:100%;object-fit:contain}
@media(max-width:650px){.case-study[data-project="games"] .performance-gallery{columns:1}.teaching-gallery-intro h2{font-size:27px}}

.case-study[data-project="games"] .performance-gallery{display:block;columns:2;column-gap:28px}
.case-study[data-project="games"] .performance-photo{margin:0 0 28px;break-inside:avoid}
@media(max-width:650px){.case-study[data-project="games"] .performance-gallery{columns:1;column-gap:20px}.case-study[data-project="games"] .performance-photo{margin-bottom:20px}}
/* People first: endorsements lead into the products made together. */
.collab-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7%;align-items:start;padding:44px 0 64px;border-top:1px solid #dedfd6}
.collab-relationship>.mono,.collab-voices>.mono,.collab-moments-heading>.mono{font-size:9px;letter-spacing:.08em;color:#727b64}
.collab-relationship h2,.collab-voices h2,.collab-moments-heading h2{font:400 clamp(30px,3.4vw,46px)/1.1 Georgia,serif;letter-spacing:-.04em;margin:22px 0 28px}
.collab-feature .endorsement-card{padding:0;border-bottom:0}
.collab-feature .endorsement-context{min-height:64px;margin-bottom:22px}
.collab-feature .endorsement-context img{width:64px;height:64px}
.collab-feature .endorsement-card blockquote p{font-size:clamp(21px,2vw,27px);line-height:1.45}
.collab-product{min-width:0;padding-top:0}
.collab-product figure{margin:0 0 25px}
.collab-product figure img{display:block;width:100%;height:auto;border-radius:12px}
.collab-product figcaption{font:8px/1.6 'IBM Plex Mono',monospace;color:#727b64;letter-spacing:.05em;margin-top:12px}
.collab-product h3{font:400 26px/1.2 Georgia,serif;letter-spacing:-.025em;margin:0 0 12px}
.collab-product p,.collab-story{font:14px/1.8 'DM Sans',sans-serif;color:#626a58;max-width:510px;margin:0 0 20px}
.collab-product .text-link{display:inline-block;font-size:12px;margin-top:5px}
.collab-voices{padding:36px 0 54px;border-top:1px solid #dedfd6}
.collab-voices .endorsements-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;padding-top:0}
.collab-voices .endorsement-card{border-bottom:0;padding:16px 0}
.collab-voices .endorsement-context{gap:12px;align-items:flex-start}
.collab-voices .endorsement-context img{width:64px;height:64px}
.collab-voices .endorsement-card blockquote p{font-size:20px;line-height:1.5}
.collab-project-meta{display:block;font-size:8px;line-height:1.7;color:#727b64;margin-top:30px}
.collab-moments-heading{padding:25px 0 8px;border-top:1px solid #dedfd6}
@media(max-width:900px){.collab-feature{gap:32px}.collab-voices .endorsements-grid{grid-template-columns:1fr}.collab-voices .endorsement-card{border-bottom:1px solid #dedfd6;padding:25px 0}.collab-voices .endorsement-context{min-height:64px;margin-bottom:20px}.collab-voices .endorsement-context>span{max-width:none}}
@media(max-width:650px){.collab-feature{grid-template-columns:1fr;gap:30px;padding:30px 0 38px}.collab-relationship h2,.collab-voices h2,.collab-moments-heading h2{font-size:32px;margin:18px 0 24px}.collab-feature .endorsement-card blockquote p{font-size:22px}.collab-voices{padding:28px 0}.collab-product h3{font-size:25px}.collab-product p,.collab-story{font-size:13px}.collab-product figure{margin-bottom:22px}body[data-page] .site-header nav{gap:20px}body[data-page] .site-header nav a[href='#collaborate']{white-space:normal}}

.case-more-cards a:focus-visible{outline:2px solid var(--moss);outline-offset:4px}

/* Intent-specific enquiry fields retain values while hidden panels are disabled. */
.enquiry-panel>label{display:flex;flex-direction:column;gap:12px;font-size:13px;margin-bottom:30px}
.enquiry-panel{margin-bottom:0;min-width:0}
#enquiry select{font:inherit;padding:15px 12px;border:1px solid var(--line);background:#f6f4ed;color:var(--ink);width:100%;border-radius:0;min-width:0}
#enquiry select:focus-visible{outline:2px solid #aa523d;outline-offset:5px}
#enquiry .enquiry-support{margin:0 0 30px}
#enquiry .enquiry-support legend{font-size:13px;margin-bottom:12px}
.support-options{display:flex;flex-wrap:wrap;gap:10px 20px}
.support-options label{display:flex;align-items:center;gap:8px;font-size:12px;cursor:pointer}
#enquiry input[type=checkbox]{width:16px;height:16px;accent-color:var(--moss);padding:0;flex-shrink:0}
#enquiry .role-buttons label:has(input:checked){border-color:var(--moss);background:#eef0e7}

/* Mediclick testimonial paired with its documented product work. */
.collab-voices .endorsements-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.mediclick-collab .collab-project-meta{display:block;margin:22px 0 18px;font-size:8px;line-height:1.6;color:#727b64}
@media(max-width:900px){.collab-voices .endorsements-grid{grid-template-columns:1fr}}

/* Marathon gallery: shared full-bleed frames, with faithful artwork exports. */
.case-study[data-project="marathon"] .case-image-dialog>img{height:auto;max-height:calc(100dvh - 170px);background:transparent;border-radius:0}
.case-study[data-project="marathon"] .event-hero{margin:40px 0 64px}
.case-study[data-project="marathon"] .event-hero img{display:block;width:100%;height:auto;max-height:none;object-fit:cover;object-position:50% 45%;aspect-ratio:4/3}
.case-study[data-project="marathon"] .event-image-grid,
.case-study[data-project="marathon"] .event-evidence-pair{display:grid;columns:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 28px;align-items:start;margin:36px 0 48px}
.case-study[data-project="marathon"] .event-image-grid.is-portrait-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.case-study[data-project="marathon"] .event-image-grid figure,
.case-study[data-project="marathon"] .event-evidence-pair figure{margin:0;min-width:0;width:100%}
.case-study[data-project="marathon"] .event-image-grid figure:last-child:nth-child(odd){grid-column:auto}
.case-study[data-project="marathon"] .event-image-grid.is-landscape-grid figure:last-child:nth-child(odd){grid-column:1/-1;width:calc(50% - 14px);justify-self:center}
.case-study[data-project="marathon"] .event-image-grid.is-portrait-grid figure:only-child{grid-column:2}
.case-study[data-project="marathon"] .event-evidence-pair button{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}
.case-study[data-project="marathon"] .event-image-frame{display:block;width:100%;aspect-ratio:4/3;overflow:hidden}
.case-study[data-project="marathon"] [data-orientation="portrait"] .event-image-frame{aspect-ratio:3/4}
.case-study[data-project="marathon"] .event-image-grid img,
.case-study[data-project="marathon"] .event-image-grid figure:last-child:nth-child(odd) img,
.case-study[data-project="marathon"] .event-evidence-pair img{display:block;width:100%;height:100%;max-height:none;object-fit:cover;background:transparent}
.case-study[data-project="marathon"] .event-evidence-pair figcaption{font:9px/1.65 'IBM Plex Mono',monospace;color:#747b68;padding:12px 0 0}
@media(max-width:650px){
 .case-study[data-project="marathon"] .event-hero{margin:28px 0 40px}
 .case-study[data-project="marathon"] .event-image-grid,
 .case-study[data-project="marathon"] .event-image-grid.is-portrait-grid,
 .case-study[data-project="marathon"] .event-evidence-pair{grid-template-columns:1fr;gap:28px;margin:28px 0 36px}
 .case-study[data-project="marathon"] .event-image-grid.is-landscape-grid figure:last-child:nth-child(odd),
 .case-study[data-project="marathon"] .event-image-grid.is-portrait-grid figure:only-child{grid-column:1;width:100%}
}


/* Work navigation leads every case study. */
.case-study>.case-more-work:first-child{border-top:0;margin-top:0;padding:24px 0 0}
.case-study>.case-more-work:first-child h2{font-size:20px;margin-bottom:18px}
@media(max-width:650px){.case-study>.case-more-work:first-child{padding-top:20px}.case-study>.case-more-work:first-child h2{font-size:18px;margin-bottom:14px}}

/* Fractional creative partner: scattered ideas resolve into a connected story. */
.interest-pitches .creative-clarity{transform:translateY(3px) scale(.98);transition:opacity .85s ease,transform .85s ease}
.interest-pitches .creative-flow{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;filter:drop-shadow(0 0 3px #ffdc8f)}
.creative-thread{fill:none;stroke:#ffe5a3;stroke-width:.65;stroke-linecap:round;stroke-dasharray:7 140;opacity:0}
.creative-spark{fill:#fff1bf;opacity:0;transform-origin:54px 19px}
.interest-pitches.is-awake .creative-thread{animation:creative-connect 4.5s ease-in-out infinite}
.interest-pitches.is-awake .creative-spark{animation:creative-flare 2.6s ease-in-out infinite}
@keyframes creative-connect{0%{stroke-dashoffset:150;opacity:0}20%{opacity:.9}85%{opacity:.75}100%{stroke-dashoffset:-150;opacity:0}}
@keyframes creative-flare{0%,100%{opacity:.3;transform:scale(.7)}50%{opacity:1;transform:scale(1.15)}}
@media(prefers-reduced-motion:reduce){.interest-pitches.is-awake .creative-thread,.interest-pitches.is-awake .creative-spark{animation:none;opacity:.6}.interest-pitches .creative-clarity{transition:none}}
