@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=DM+Mono:wght@400;500&display=swap');
:root{--paper:#f4f5ef;--ink:#20271d;--muted:#62685c;--line:#d6dacd;--lime:#d5f476;--mono:'DM Mono',monospace;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid #5d7b23;outline-offset:6px}.skip-link{position:fixed;top:10px;left:10px;background:var(--ink);color:white;padding:14px;z-index:30;transform:translateY(-160%)}.skip-link:focus{transform:none}.page-shell{max-width:1600px;margin:auto;padding:0 64px}.mono,.eyebrow{font-family:var(--mono);font-size:11px;line-height:1.6;letter-spacing:.03em}.eyebrow{text-transform:uppercase;letter-spacing:.09em;margin:0 0 25px}.header{height:108px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:10px;align-items:center;font-size:29px;font-weight:700;letter-spacing:-1.5px}.ninja-mark{width:34px;height:34px}.brand-dot{color:#668135}.header nav{display:flex;gap:44px;font-size:13px}.header nav a{display:flex;gap:25px;align-items:center}.header nav a:hover{color:#597623}.hero{display:grid;grid-template-columns:1.04fr 1fr;min-height:720px;align-items:center;gap:20px}.hero-copy{padding:56px 0 62px;z-index:2}.status-dot{width:7px;height:7px;border-radius:50%;background:#69892f;display:inline-block;margin-right:9px;box-shadow:0 0 0 4px #e6edd8}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(68px,6.9vw,105px);line-height:.99;letter-spacing:-.072em;font-weight:550;margin:0 0 29px;position:relative;max-width:650px}.serif{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-style:italic;letter-spacing:-.065em}.title-spark{font-size:60px;color:#66843b;position:absolute;margin-left:18px;bottom:8px;line-height:1}.hero-description{font-size:17px;line-height:1.65;color:var(--muted);margin-bottom:30px;letter-spacing:-.25px}.button{display:inline-flex;gap:40px;align-items:center;justify-content:space-between;background:var(--ink);color:var(--paper);padding:18px 22px;font-size:13px;font-weight:500;border-radius:4px;transition:background .2s,transform .2s}.button:hover{background:#405326;transform:translateY(-2px)}.button span{font-size:19px;line-height:1}.hero-note{color:#767d6b;margin:18px 0 0;font-size:10px}.card-scene{height:560px;position:relative;perspective:1000px;isolation:isolate;transform-style:preserve-3d;--rx:0deg;--ry:0deg}.playing-card{position:absolute;width:235px;height:338px;border-radius:13px;box-shadow:0 22px 42px -16px #2335134d;border:1px solid #33462624;overflow:hidden;transition:transform .5s cubic-bezier(.2,.7,.2,1)}.card-top{display:flex;justify-content:space-between;align-items:center;font-size:9px}.ninja-card{background:var(--lime);top:145px;left:67px;transform:rotate(-13deg) rotateX(var(--rx)) rotateY(var(--ry));padding:22px;z-index:3}.ninja-card p{font-size:65px;line-height:.83;font-weight:650;letter-spacing:-4px;margin:24px 0 0}.big-mark{width:89px;height:65px;display:block;margin-top:28px}.card-bottom{position:absolute;bottom:20px;font-size:8px;letter-spacing:.035em}.monster-card{background:#252b20;top:91px;right:4px;transform:rotate(14deg) rotateX(var(--rx)) rotateY(var(--ry));z-index:2}.monster-card img{width:100%;height:100%;object-fit:cover;object-position:67% center;opacity:.83}.mini-monster-copy{position:absolute;inset:0;background:linear-gradient(0deg,#151a13e8,transparent 75%);padding:23px;color:#f1eddd;display:flex;flex-direction:column;justify-content:space-between}.mini-monster-copy .mono{font-size:8px}.mini-monster-copy p{font-size:44px;line-height:.9;letter-spacing:-2px;margin-bottom:12px}.mini-monster-copy em{font-family:Georgia,serif;font-weight:400}.report-card{left:119px;top:37px;background:#fcfcf8;padding:22px;transform:rotate(-2deg) rotateX(var(--rx)) rotateY(var(--ry));z-index:1}.report-card p{font-size:31px;line-height:1;letter-spacing:-1.6px}.report-card em{font-family:Georgia,serif}.mini-chart{display:flex;align-items:flex-end;gap:7px;height:95px;margin:27px 0 22px;border-bottom:1px solid #cbd6b9}.mini-chart i{width:18px;background:#a7bd7f;height:50%}.mini-chart i:nth-child(2n){height:85%;background:#698449}.mini-chart i:nth-child(3n){height:65%}.mini-chart i:last-child{height:100%;background:#3c5634}.orbit{position:absolute;border:1px solid #dde3d1;border-radius:50%;z-index:-1}.orbit-one{width:510px;height:510px;top:34px;left:3px}.orbit-two{width:390px;height:390px;top:94px;left:63px}.scene-label{position:absolute;right:5px;top:0;color:#848b79;font-size:8px;text-transform:uppercase;letter-spacing:.12em}.scene-caption{position:absolute;left:94px;bottom:0;color:#707a62;font-size:9px}.tiny-cross{font-size:21px;margin-right:13px;font-weight:400;vertical-align:-2px}.intro-line{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:27px 0;display:flex;align-items:center;justify-content:space-between}.intro-line p{margin:0;font-size:15px;line-height:1.5;color:var(--muted)}.intro-line strong{font-weight:500;color:var(--ink)}.intro-line>.mono{text-transform:uppercase;font-size:10px;color:var(--muted)}.intro-line>a{border:1px solid var(--line);border-radius:50%;width:40px;height:40px;display:grid;place-items:center;transition:background .2s}.intro-line>a:hover{background:var(--lime)}.universe{padding:98px 0 87px;display:grid;grid-template-columns:1fr 1fr;gap:30px}.section-heading{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:30px;margin-bottom:17px}.section-heading .eyebrow{grid-column:1/-1}h2{font-size:clamp(38px,4vw,59px);line-height:1.08;letter-spacing:-.055em;font-weight:500;margin-bottom:0}.section-heading>p:last-child{align-self:end;padding-left:17%;font-size:14px;line-height:1.7;color:var(--muted);margin:0 0 3px}.project{min-width:0;display:block}.project-image,.report-art{height:365px;position:relative;border-radius:5px;overflow:hidden}.project-image{background:#252d22}.project-image>img{width:100%;height:100%;object-fit:cover;object-position:68% 40%;transition:transform .8s}.project-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#161e17a8,transparent 90%)}.project-number{position:absolute;top:24px;left:25px;z-index:2;color:#eeeee1;text-transform:uppercase;letter-spacing:.09em;font-size:9px}.project-art-title{position:absolute;bottom:40px;left:31px;color:#f1ecda;font-size:61px;line-height:.84;z-index:2;letter-spacing:-3px}.project-art-title em{font-family:Georgia,serif;font-weight:400}.project-copy{padding:24px 0 0}.project-title{display:flex;align-items:center;justify-content:space-between}.project h3{font-size:24px;letter-spacing:-.8px;font-weight:550;margin:0 0 14px}.round-arrow{height:35px;width:35px;border:1px solid #cbd0c1;display:grid;place-items:center;border-radius:50%;font-size:20px;transition:background .2s,transform .2s}.project-copy>p{font-size:14px;line-height:1.7;color:var(--muted);margin-bottom:25px}.project-domain{padding-top:17px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#515c43;font-size:10px}.project-domain>span{color:#727b66;font-size:9px}.project:hover .project-image>img{transform:scale(1.04)}.project:hover .round-arrow{background:var(--lime);transform:rotate(6deg)}.report-art{background:#e1e8d3;display:flex;justify-content:center;align-items:center}.report-art>.project-number{color:#535f44}.report-sheet{width:80%;padding:19px 22px;background:#fbfcf7;border:1px solid #d1d9c0;box-shadow:0 20px 35px #65704b17;transform:rotate(-5deg) translateY(11px);transition:transform .6s}.sheet-top{font-size:7px;display:flex;justify-content:space-between;align-items:center}.report-dot{display:inline-block;background:#69864c;width:6px;height:6px;border-radius:50%;margin-right:4px}.report-sheet>p{font-size:34px;letter-spacing:-1.9px;line-height:1.02;margin:18px 0}.report-sheet em{font-family:Georgia,serif;font-weight:400}.sheet-formats{display:flex;gap:5px;font-size:6px}.sheet-formats span{border:1px solid #cfd8c3;border-radius:20px;padding:4px 7px}.sheet-chart{height:77px;display:flex;align-items:end;gap:8px;margin:16px 0;border-bottom:1px solid #d4ddc9}.sheet-chart i{background:#b5c995;flex:1;height:25%}.sheet-chart i:nth-child(2n){height:48%;background:#809d5f}.sheet-chart i:nth-child(3n){height:72%}.sheet-chart i:nth-child(4n){height:88%;background:#4b6b41}.sheet-chart i:nth-child(5n){height:63%}.sheet-bottom{font-size:6px;display:flex;justify-content:space-between}.art-note{position:absolute;right:14px;bottom:10px;color:#78846a;font-size:7px}.project:hover .report-sheet{transform:rotate(-2deg) translateY(6px)}.about{padding:70px 0 82px;border-top:1px solid var(--line);display:grid;grid-template-columns:1.2fr 1fr;column-gap:50px}.about>.eyebrow{grid-column:1/-1}.about-copy{display:grid;grid-template-columns:35px 1fr;column-gap:16px;align-content:start;padding-top:9px}.about-copy p{grid-column:2;font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:17px}.about-star{font-size:33px;line-height:1;color:#66843b}.contact{background:var(--lime);padding:44px 45px 41px;border-radius:5px;margin-bottom:58px}.contact>.eyebrow{margin-bottom:21px}.contact>div{display:flex;justify-content:space-between;align-items:center;gap:25px}.contact h2{font-size:clamp(38px,4.5vw,66px);letter-spacing:-.06em}.contact>p:last-child{margin:20px 0 0;font-size:12px;color:#53623b}.footer{display:flex;align-items:center;justify-content:space-between;padding:0 0 35px;gap:20px}.footer-brand{font-size:21px;font-weight:650;letter-spacing:-1px}.footer-brand span{font-size:19px;margin-left:10px;color:#66843b}.footer p{font-size:11px;color:var(--muted);margin:0}.footer>.mono{font-size:9px;color:var(--muted)}
@media(min-width:1500px){.hero{min-height:800px}.card-scene{transform:scale(1.1)}}
@media(max-width:1100px){.page-shell{padding:0 36px}.hero{min-height:650px;grid-template-columns:1fr 1fr}h1{font-size:79px}.title-spark{font-size:43px;margin-left:10px}.card-scene{transform:scale(.82);transform-origin:center right;margin-left:-80px}.project-image,.report-art{height:315px}.report-sheet>p{font-size:29px}.section-heading>p:last-child{padding-left:10%}.hero-description{font-size:15px}.contact{padding:34px}.contact .button{gap:24px}.about{gap:25px}}
@media(max-width:900px){html{scroll-padding-top:20px}.page-shell{padding:0 23px}.header{height:84px}.brand{font-size:25px}.ninja-mark{width:29px;height:29px}.header nav{gap:20px;font-size:11px}.header nav a{gap:9px}.hero{display:flex;flex-direction:column;align-items:stretch;gap:0;overflow:hidden;margin:0 -23px;padding:0 23px}.hero-copy{padding:52px 0 0}.eyebrow{font-size:9px;margin-bottom:23px}h1{font-size:clamp(65px,12vw,91px);letter-spacing:-.065em;margin-bottom:24px}.title-spark{font-size:44px;bottom:6px;margin-left:17px}.hero-description{font-size:15px;line-height:1.7}.button{padding:17px 20px;font-size:12px}.hero-note{font-size:9px}.card-scene{width:480px;height:500px;align-self:center;transform:scale(.86);transform-origin:center center;margin:-2px 0 -20px}.playing-card{width:215px;height:315px}.ninja-card{left:71px;top:142px}.monster-card{right:13px;top:95px}.report-card{top:35px;left:117px}.orbit-one{width:470px;height:470px;left:4px;top:27px}.orbit-two{width:360px;height:360px;left:60px;top:82px}.scene-label{top:11px;right:24px}.scene-caption{bottom:-1px;left:93px}.intro-line{padding:22px 0}.intro-line>.mono{display:none}.intro-line p{font-size:12px}.intro-line>a{width:34px;height:34px}.universe{padding:58px 0;grid-template-columns:1fr;gap:39px}.section-heading{display:block;margin-bottom:0}.section-heading>p:last-child{padding:0;margin-top:23px;font-size:13px}.section-heading>p:last-child br{display:none}h2{font-size:41px}.project-image,.report-art{height:340px}.report-sheet{width:78%;max-width:350px}.project-copy{padding-top:20px}.project h3{font-size:23px}.project-copy>p{font-size:13px;margin-bottom:21px}.project-domain{font-size:9px}.project-domain>span{font-size:8px}.about{display:block;padding:51px 0 40px}.about h2{font-size:38px}.about-copy{padding-top:29px;column-gap:10px;grid-template-columns:27px 1fr}.about-copy p{font-size:13px}.about-star{font-size:27px}.contact{padding:28px 24px;margin-bottom:34px}.contact>div{align-items:start;flex-direction:column;gap:26px}.contact h2{font-size:44px}.contact>p:last-child{font-size:11px;line-height:1.6}.footer{flex-wrap:wrap;padding-bottom:25px;gap:15px}.footer p{order:3;flex-basis:100%;font-size:10px}.footer-brand{font-size:19px}.footer>.mono{font-size:8px}.desktop-break{display:none}}
@media(max-width:380px){.header nav{gap:14px}.header nav a{gap:4px}.card-scene{transform:scale(.75);margin-top:-25px;margin-bottom:-50px}.project-image,.report-art{height:300px}.sheet-formats{gap:3px}.sheet-formats span{padding:3px 5px}.title-spark{margin-left:10px;font-size:37px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.card-scene{--rx:0deg!important;--ry:0deg!important}}
/* Matchbook shares the same project card structure and sizing. */
.matchbook-art{background:#e7e3ef}.matchbook-art>.project-number{color:#655c77}.matchbook-preview{width:80%;padding:19px 22px;background:#faf9fc;border:1px solid #d6d0e0;box-shadow:0 18px 30px #4d385315;transform:rotate(-5deg) translateY(11px);transition:transform .6s}.matchbook-preview-top{display:flex;align-items:center;gap:7px}.matchbook-preview-top svg{width:21px;height:24px;flex:0 0 21px;color:#6b5b82}.matchbook-preview-top>span{font-size:17px;font-weight:550;letter-spacing:-.5px}.journal-prompt{margin:23px 0 14px auto;background:#ede9f3;border-radius:10px 10px 2px 10px;padding:11px 12px;width:fit-content;font-size:10px;color:#63566e}.journal-response{display:flex;align-items:center;gap:10px;border:1px solid #ded9e6;border-radius:5px;padding:13px 11px}.journal-check{width:23px;height:23px;display:grid;place-items:center;flex-shrink:0;border-radius:50%;background:#e8eddf;color:#586b3d;font-size:12px}.journal-response p{font-size:10px;margin:0 0 4px}.journal-response .mono{font-size:6px;color:#7c7385}.journal-tags{display:flex;gap:5px;margin-top:17px;font-size:6px;color:#7c7385}.journal-tags span{border:1px solid #ded9e6;border-radius:20px;padding:4px 6px}.project:hover .matchbook-preview{transform:rotate(-2deg) translateY(6px)}
@media(min-width:1101px){.universe{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.project-image,.report-art{height:315px}.project-art-title{font-size:54px}.report-sheet,.matchbook-preview{width:84%;padding:17px}.report-sheet>p{font-size:31px}.project h3{font-size:22px}.project-copy>p{font-size:13px}.project-domain{font-size:9px}.project-domain>span{font-size:8px}}
@media(max-width:1100px){.matchbook-preview{padding:18px}}
@media(max-width:900px){.matchbook-preview{width:78%;max-width:350px;padding:20px}.project-copy>p{min-height:0}}
@media(max-width:380px){.matchbook-preview{padding:15px;width:84%}.journal-prompt{font-size:9px}.journal-response p{font-size:9px}.journal-response .mono{font-size:5px}.journal-tags{font-size:6px;gap:4px}.journal-tags span{padding:4px 5px}.project-matchbook .project-domain{font-size:8px}.project-matchbook .project-domain>span{font-size:7px}}
.project{display:flex;flex-direction:column}.project-copy{display:flex;flex:1;flex-direction:column}.project-domain{margin-top:auto}
/* The hero fan follows the same project order as the project grid. */
.matchbook-card{background:#e7e3ef;top:145px;left:67px;transform:rotate(-13deg) rotateX(var(--rx)) rotateY(var(--ry));padding:22px;z-index:3}.hero-book-mark{width:63px;height:66px;display:block;margin-top:27px;color:#665778}.matchbook-card>p{font-size:56px;line-height:.87;font-weight:550;letter-spacing:-3px;margin:24px 0 0}.matchbook-card>p>em{font-family:Georgia,'Times New Roman',serif;font-weight:400}.card-scene .report-card{z-index:2}.card-scene .monster-card{z-index:1}
@media(max-width:900px){.matchbook-card{left:71px;top:142px}.matchbook-card>p{font-size:52px}}
/* Keep the fan bounded independently of the width of the hero grid column. */
.card-scene{width:100%;max-width:520px;min-width:0;height:560px;justify-self:center;margin:0;transform:none;transform-origin:center;perspective:1100px;perspective-origin:50% 48%;isolation:auto;z-index:0;--deck-scale:.94;--rx:0deg;--ry:0deg;--rz:0deg}
.card-deck{position:absolute;left:50%;top:50%;width:500px;height:500px;transform-style:preserve-3d;transform:translate(-50%,-50%) scale(var(--deck-scale)) rotateX(calc(-5deg + var(--rx))) rotateY(calc(-6deg + var(--ry))) rotateZ(var(--rz));transition:transform .65s cubic-bezier(.2,.7,.2,1);animation:deck-drift 12s ease-in-out infinite alternate}
.card-scene .playing-card{left:50%;top:50%;right:auto;width:235px;height:338px;transform-origin:center;transform:translate3d(calc(-50% + var(--card-x)),calc(-50% + var(--card-y)),var(--card-z)) rotateZ(var(--card-angle)) rotateY(var(--card-yaw));backface-visibility:hidden;box-shadow:0 24px 45px -18px #23351360,2px 2px 0 #26311c18;transition:box-shadow .5s ease}
.card-scene .matchbook-card{--card-x:-78px;--card-y:42px;--card-z:52px;--card-angle:-13deg;--card-yaw:-7deg}
.card-scene .report-card{--card-x:0px;--card-y:-56px;--card-z:0px;--card-angle:-2deg;--card-yaw:0deg}
.card-scene .monster-card{--card-x:94px;--card-y:14px;--card-z:-38px;--card-angle:14deg;--card-yaw:8deg}
.card-scene .orbit-one{width:490px;height:490px;left:50%;top:50%;transform:translate(-50%,-50%)}.card-scene .orbit-two{width:370px;height:370px;left:50%;top:50%;transform:translate(-50%,-50%)}.card-scene .scene-label{right:20px;top:8px}.card-scene .scene-caption{left:50%;bottom:0;transform:translateX(-50%);white-space:nowrap}
@keyframes deck-drift{from{rotate:1 .65 0 -3deg}to{rotate:1 .65 0 3deg}}
@media(max-width:1100px) and (min-width:901px){.card-scene{--deck-scale:.8}}
@media(max-width:900px){.card-scene{width:100%;height:490px;max-width:520px;align-self:center;--deck-scale:.88}.card-scene .orbit-one{width:440px;height:440px}.card-scene .orbit-two{width:330px;height:330px}.matchbook-card>p{font-size:56px}}
@media(max-width:600px){.card-scene{height:400px;--deck-scale:.7}.card-scene .orbit-one{width:350px;height:350px}.card-scene .orbit-two{width:270px;height:270px}.card-scene .scene-label{font-size:6px;right:5px;top:14px}.card-scene .scene-caption{font-size:7px;bottom:6px}}
@media(max-width:380px){.card-scene{height:350px;--deck-scale:.6}.card-scene .orbit-one{width:300px;height:300px}.card-scene .orbit-two{width:230px;height:230px}.card-scene .scene-label{font-size:5px}.card-scene .scene-caption{font-size:6px}}
@media(prefers-reduced-motion:reduce){.card-deck{animation:none;rotate:none;transition:none}.card-scene{--rx:0deg!important;--ry:0deg!important;--rz:0deg!important}}

/* All decorative marks are vectors, never font glyphs or emoji. */
.icon-definitions{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}.icon{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex-shrink:0;overflow:visible}.title-spark>.icon,.about-star>.icon,.contact-symbol>.icon{display:block}.journal-check>.icon{width:14px;height:14px}.round-arrow>.icon{width:18px;height:18px}
