@font-face{font-family:Fraunces;src:url('assets/fonts/fraunces.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts/manrope.ttf') format('truetype');font-style:normal;font-weight:200 800;font-display:swap}
.public-site{--paper:#f4f1e9;--ink:#282924;--muted:#64665e;--line:#cccac0;--green:#282924;--rust:#3344a4;--blue:#3344a4;--yellow:#ddbf59;--serif:Fraunces,Georgia,serif;--sans:Manrope,Arial,sans-serif;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.7}
.public-site h1,.public-site h2,.public-site h3{font-family:var(--serif);font-weight:430;font-optical-sizing:auto;font-variation-settings:"SOFT" 35,"WONK" 1;letter-spacing:-.045em}
.public-site h1 em,.public-site h2 em{color:inherit;font-style:normal;font-weight:380}
.public-site p{max-width:65ch}.public-site .eyebrow{font:600 10px/1.5 var(--sans);letter-spacing:.13em;text-transform:uppercase}
.public-site a,.public-site button{transition:color .22s,background-color .22s,border-color .22s,transform .3s}
.public-site :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--blue);outline-offset:5px;box-shadow:0 0 0 7px var(--paper)}
.public-site ::selection{background:var(--yellow);color:var(--ink)}
.public-site .section{padding:100px 5vw;max-width:1600px}
.public-site .header{padding:21px 4vw;min-height:102px;background:var(--paper);gap:28px;border-bottom:1px solid var(--line)}
.public-site .header .brand{display:flex;gap:12px;align-items:center;flex-shrink:0;letter-spacing:-2px}
.public-site .brand-sign{width:42px;height:42px;margin:0;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.public-site .brand:hover .brand-sign{transform:rotate(15deg)}
.public-site .header .brand-name{display:block;font:450 35px/.95 var(--serif);letter-spacing:-2px;margin:0}
.public-site .header .brand-name small{display:block;font:500 8px/1.5 var(--sans);letter-spacing:.12em;margin-top:10px}
.public-site .header nav{gap:22px}.public-site .header nav a,.public-site .mega-menu summary{font:500 11px/1.4 var(--sans);letter-spacing:.015em;position:relative}
.public-site .header nav>a:after{content:'';height:1px;background:var(--blue);position:absolute;bottom:6px;left:0;right:0;transform:scaleX(0);transform-origin:left;transition:transform .3s}
.public-site .header nav>a:hover:after,.public-site .header nav>a[aria-current]:after{transform:scaleX(1)}
.public-site .bag-button{border-left:1px solid var(--line);padding-left:21px;font:500 11px var(--sans)}
.public-site .bag-button span{border-color:var(--ink);font-size:10px}.public-site .mega-panel{background:var(--paper);border:1px solid var(--ink);box-shadow:8px 8px 0 #2829240c}.public-site .mega-panel a:hover{color:var(--blue)}
.public-site .button{border:1px solid var(--ink);border-radius:0 14px 0 0;padding:16px 23px;min-height:52px;gap:40px;font:600 12px/1.4 var(--sans);letter-spacing:.01em;position:relative;isolation:isolate;overflow:hidden;filter:none}
.public-site .button.dark{background:var(--ink);color:var(--paper)}
.public-site .button.dark:hover{background:var(--blue);border-color:var(--blue);filter:none}
.public-site .button.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.public-site .button.light:hover{background:var(--yellow);border-color:var(--yellow)}
.public-site .button span{transition:transform .3s}.public-site .button:hover span{transform:translate(3px,-3px)}
.public-site .text-link,.public-site .hero-secondary{font:600 11px/1.6 var(--sans);text-decoration:none;border:0;border-bottom:1px solid currentColor;padding:10px 0;background:none;min-height:44px}
.public-site .text-link:hover,.public-site .hero-secondary:hover{color:var(--blue)}
.public-site .hero{grid-template-columns:45% 55%;gap:0;position:relative;padding:0 4vw 52px;min-height:650px;border-bottom:1px solid var(--line)}
.public-site .hero-copy{padding:60px 2vw 65px 0;z-index:1;align-self:center}
.public-site .hero .eyebrow{margin:0 0 35px;color:var(--ink)}
.public-site .hero h1{font-size:clamp(66px,6.7vw,106px);line-height:1.02;letter-spacing:-.065em;font-weight:430}
.public-site .hero h1 em{display:inline-block;position:relative;z-index:0}
.public-site .hero h1 em:after{content:'';position:absolute;left:0;right:-6px;bottom:-7px;height:16px;background:url('assets/identity-trace.svg') center 47%/100% auto no-repeat;opacity:.6;z-index:-1}
.public-site .hero .intro{font:400 15px/1.8 var(--sans);max-width:310px;color:var(--muted);margin:32px 0}
.public-site .hero .button{font:600 12px var(--sans);padding:16px 24px;min-height:52px}
.public-site .hero-secondary{display:table;margin-top:17px}
.public-site .hero-media{height:600px;min-height:0;position:relative;display:grid;align-content:center;padding:55px 7% 70px;overflow:visible;background:transparent}
.public-site .hero-media:before{content:'';position:absolute;inset:30px 0 30px 3%;background:#e5e8dd;border-radius:50% 46% 42% 50%;z-index:0;transform:rotate(-8deg)}
.public-site .hero-orbit{position:absolute;width:98%;height:82%;border:1px solid #28292455;border-radius:47% 53% 46% 54%;left:0;top:7%;transform:rotate(12deg);pointer-events:none}
#identity-hero-art{position:relative;z-index:1;transform:rotate(-3deg);width:100%;box-shadow:12px 14px 0 #2829240b}
.hero-art-button{width:100%;padding:0;border:0;display:block;background:#e6e0d6;cursor:zoom-in;position:relative;overflow:hidden}
.hero-art-button .original-art{animation:none;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.hero-art-button:hover .original-art{transform:scale(1.025)}
.art-open{position:absolute;right:14px;bottom:14px;display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:var(--ink);color:var(--paper);font:24px var(--sans);transition:background-color .25s,transform .3s}
button:hover>.art-open{background:var(--blue);transform:rotate(5deg)}
.public-site .hero-media figcaption{position:relative;left:auto;right:auto;bottom:auto;text-align:left;z-index:1;color:var(--ink);max-width:none;font:500 10px/1.7 var(--sans);margin:35px 0 0 8px;background:none}
.hero-media figcaption span{display:block}.hero-media figcaption span+span{color:var(--muted);font-size:9px}
.hero-margin-note{position:absolute;right:-14px;top:44%;writing-mode:vertical-rl;font-size:9px;letter-spacing:.09em;color:var(--muted)}
.hero-scroll{position:absolute;bottom:17px;left:4vw;right:4vw;display:flex;justify-content:space-between;text-decoration:none;font:500 9px var(--sans);letter-spacing:.08em;color:var(--muted)}
.hero-scroll span:last-child{font-size:22px;color:var(--ink)}
.public-site .manifesto{padding:0 4vw;border-top:0;border-bottom:1px solid var(--line);gap:0;justify-content:stretch;font:450 18px var(--serif);letter-spacing:0}
.public-site .manifesto a{width:33.333%;padding:26px 25px;text-decoration:none;display:flex;gap:22px;align-items:center;border-right:1px solid var(--line)}
.public-site .manifesto a:first-child{padding-left:0}.public-site .manifesto a:last-child{border-right:0}
.public-site .manifesto a span{font:500 9px var(--sans);letter-spacing:.1em;color:var(--muted)}.public-site .manifesto b{margin-left:auto;font:18px var(--sans);font-weight:400}
.public-site .manifesto a:hover{color:var(--blue)}
.public-site .section-heading{align-items:start;margin-bottom:45px}.public-site .section-heading h2{font-size:clamp(42px,4.6vw,70px);line-height:1.06;letter-spacing:-.05em;max-width:700px}
.public-site .section-heading>p{font:400 12px/1.8 var(--sans);max-width:230px;padding-top:35px}
.public-site .portfolio-section{background:var(--paper)}.public-site #original-works{grid-template-columns:1.18fr 1fr;gap:45px 7vw;align-items:center;padding-top:12px}
.public-site .motion-tools{margin:0 0 32px;gap:30px}.public-site .motion-tools p{font:400 11px/1.7 var(--sans);max-width:430px}
.public-site .motion-art{border:0;outline:0;box-shadow:none;background:#e5e3db;transition:transform .4s}
.public-site .motion-art:after{content:'';position:absolute;inset:0;border:1px solid #28292418;pointer-events:none}
.public-site .motion-caption{background:var(--paper);font:600 8px var(--sans);letter-spacing:.04em;padding:11px 13px;bottom:0;right:0;border-top-left-radius:12px}
.public-site .motion-light{display:none}.public-site .portfolio-caption{padding-top:15px;gap:20px;align-items:baseline}
.public-site .portfolio-caption h3{font:450 29px/1.15 var(--serif);letter-spacing:-.04em}
.public-site .portfolio-caption p{font:400 9px/1.9 var(--sans);color:var(--muted)}
.public-site .portfolio-bottom{padding-top:28px;margin-top:45px}.public-site .small{font:400 10px/1.8 var(--sans);color:var(--muted)}
.public-site .color-section{background:#e8eaf0;border-block:1px solid var(--line);max-width:none;padding:80px 7vw 65px}
.color-intro{display:grid;grid-template-columns:1fr 1fr;column-gap:9vw;align-items:center;position:relative;margin-bottom:55px}
.color-intro>.eyebrow{grid-column:1/-1;margin-bottom:20px}.color-intro h2{font-size:clamp(42px,4.4vw,67px);line-height:1.05}.color-intro>p:not(.eyebrow){font-size:13px;max-width:360px;margin:0}
.identity-trace{width:230px;height:75px;position:absolute;right:5%;bottom:-40px;overflow:visible;stroke:var(--blue);fill:none;stroke-width:1.5;stroke-linecap:round}
.identity-trace path{stroke-dasharray:450;stroke-dashoffset:0}.identity-trace.is-revealed path{animation:trace-appear 1.4s ease both}
#identity-color-works{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:12vw;max-width:1200px;margin:0 auto 45px}
.color-work{min-width:0}.color-art{display:block;position:relative;width:100%;padding:0;border:0;background:none;cursor:zoom-in;overflow:hidden;box-shadow:8px 10px 0 #2829240a}
.color-art .original-art{transition:transform .8s}.color-art:hover .original-art{transform:scale(1.025)}
.color-caption{display:flex;align-items:start;gap:14px;padding-top:20px}.color-caption h3{font-size:32px;line-height:1.1}.color-caption p{font-size:10px;color:var(--muted);margin:8px 0 0}.work-index{font-size:9px;padding-top:4px;color:var(--muted)}.work-technique{font-size:9px;max-width:70px;margin-left:auto;padding-top:4px;line-height:1.7}
.public-site .gallery-section{background:var(--ink);color:var(--paper);grid-template-columns:39% 61%;max-width:1600px;margin-inline:auto}
.public-site .gallery-copy{padding:75px 5vw;align-self:center}.public-site .gallery-copy h2{font:420 clamp(42px,4.7vw,68px)/1.05 var(--serif);letter-spacing:-.05em}
.public-site .gallery-copy p{font:400 12px/1.8 var(--sans);color:#dddcd3}.public-site .gallery-copy .eyebrow{font-size:9px;color:var(--yellow)}
.public-site .gallery-copy .button{background:var(--paper);color:var(--ink);border-color:var(--paper);font:600 12px var(--sans)}
.public-site .gallery-copy .button:hover{background:var(--yellow);border-color:var(--yellow)}
.public-site .gallery-cover{min-height:570px}.public-site .gallery-cover figcaption{font:400 9px var(--sans)}.public-site .light-link{color:var(--paper)}
.public-site .practice-grid{display:grid;grid-template-columns:1fr;gap:0;counter-reset:practice}
.public-site .practice-grid>a{display:grid;grid-template-columns:40px 28% 1fr;column-gap:35px;align-items:center;border-top:1px solid var(--line);padding:27px 0;text-decoration:none;position:relative;counter-increment:practice}
.public-site .practice-grid>a:before{content:'0' counter(practice);grid-column:1;grid-row:1/3;font-size:10px;color:var(--muted)}
.public-site .practice-grid img{grid-column:2;grid-row:1/3;width:100%;height:175px;object-fit:cover;filter:saturate(.72)}
.public-site .practice-grid h3,.public-site .practice-grid h2{grid-column:3;font:450 38px/1.2 var(--serif);letter-spacing:-.04em;margin:0;align-self:end;padding-bottom:8px}.public-site .practice-grid p{grid-column:3;font-size:12px;color:var(--muted);margin:0;align-self:start}
.public-site .practice-grid>a:hover h3,.public-site .practice-grid>a:hover h2{color:var(--blue)}
.public-site .journal-grid{gap:7vw}.public-site .journal-grid h3{font-size:38px}.public-site .journal-grid .eyebrow{font-size:9px;margin:20px 0 12px}
.public-site .club{background:#e9e4d7;border-block:1px solid var(--line)}.public-site .club h2{font-size:clamp(42px,4.6vw,68px);letter-spacing:-.05em}
.public-site .club img{mix-blend-mode:multiply}.public-site .collection{padding-top:65px;padding-bottom:65px;border-top:1px solid var(--line);background:#eae8e1}
.public-site .collection .section-heading h2{font-size:36px}.public-site .collection .section-heading>p{padding-top:0}.public-site .catalog-note{font-size:10px}
.public-site .art-image{background:#e1dfd5!important;box-shadow:none}.public-site .art-image img{box-shadow:none}.public-site .art-title{font-family:var(--serif);font-size:25px}.public-site .filter.active{background:var(--ink);border-radius:0 10px 0 0}.public-site .filter:hover:not(.active){color:var(--blue)}
.public-site .footer{display:grid;grid-template-columns:1fr 1fr;gap:35px;padding-top:65px;padding-bottom:35px;border-top:1px solid var(--line)}
.public-site .footer>.brand{font:450 clamp(50px,6vw,90px)/1 var(--serif);letter-spacing:-.06em;grid-column:1;grid-row:1/3}
.public-site .footer>.brand span{font:500 8px var(--sans);letter-spacing:.2em;margin-top:20px}.public-site .footer>p{grid-column:2;font:400 15px/1.8 var(--sans);margin:0}.public-site .footer nav{grid-column:2;display:flex;flex-wrap:wrap;gap:12px 23px;font-size:10px}.public-site .footer-note{grid-column:1/-1;margin-top:20px;border-top:1px solid var(--line);padding-top:23px;font-size:9px}
.public-site .page-heading{padding:70px 6vw 60px;border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.public-site .page-heading:after{content:'';position:absolute;right:5vw;bottom:-40px;width:280px;height:180px;background:url('assets/identity-trace.svg') center/contain no-repeat;opacity:.35;pointer-events:none}
.public-site .page-heading h1{font-size:clamp(52px,6.5vw,94px);line-height:1.03;max-width:950px}.public-site .page-heading .lead{font:400 15px/1.8 var(--sans);max-width:600px}
.public-site .page-heading .eyebrow{color:var(--blue)}.public-site .reading{font-size:16px;line-height:1.9}.public-site .reading h2{font-size:52px}
.public-site .related-links{background:#e7e7dd;border-block:1px solid var(--line)}.public-site .section-tabs a{border-color:var(--line);border-radius:0}
.public-site input,.public-site select,.public-site textarea{font-family:var(--sans);font-size:13px;border-color:#96988d;background:#ffffff28;min-height:48px;accent-color:var(--blue)}
.public-site label{font-size:12px}.public-site .site-form{background:transparent;border:1px solid var(--line)}.public-site .site-form output{border-left:2px solid var(--blue);padding-left:15px}
.public-site dialog{background:var(--paper);color:var(--ink);border:1px solid var(--ink);border-radius:0}.public-site dialog::backdrop{background:#1c221ce0;backdrop-filter:blur(3px)}
.public-site .close{border-radius:50%;background:var(--paper);color:var(--ink);border:1px solid var(--ink);width:40px;height:40px;font-family:var(--sans)}
.public-site .detail-info h2{font-size:clamp(38px,4vw,58px)}.public-site .detail-info p{font-family:var(--sans)}.public-site .original-detail .detail-art{background:#e4e4dc;padding:25px}
.public-site #gallery-welcome{border:0}.public-site .welcome-copy h2{font-size:52px}.public-site .welcome-copy .eyebrow{color:var(--blue)}
.public-site .game-dialog{background:#20251f;color:var(--paper);border:0}.public-site .game-header .brand{font:450 29px var(--serif);text-transform:none;letter-spacing:-1px}
.public-site .game-header .icon-button{border-radius:50%;width:42px;min-height:42px}.public-site .game-header h2{font:500 9px var(--sans)}
.public-site .game-actions .game-button{border-radius:0 12px 0 0;background:#252924d9;font:500 11px var(--sans);padding:12px 15px;backdrop-filter:none}
.public-site .game-location>#room-name{font:420 34px var(--serif);letter-spacing:-.04em}.public-site .game-options{color:var(--ink);background:var(--paper)}
.public-site .game-options h3{font-size:34px}.public-site .game-toolbar{background:#22251f}.public-site .game-dialog>#gallery-status{background:#22251f}.public-site .game-toolbar button{font:500 10px var(--sans)}
.public-site .game-dialog :is(.gallery-list,.keyboard-controls){background:var(--paper);color:var(--ink)}
.color-work.is-revealed,.portfolio-work.is-revealed,.practice-grid>a.is-revealed{animation:identity-enter .7s cubic-bezier(.2,.7,.2,1) both}
@keyframes identity-enter{from{opacity:.5;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes trace-appear{from{stroke-dashoffset:450}to{stroke-dashoffset:0}}
@media(min-width:1600px){.public-site .hero{max-width:1600px;margin:auto}.public-site .color-section{padding-inline:max(7vw,calc((100vw - 1400px)/2))}}
@media(max-width:1150px){.public-site .header{gap:18px}.public-site .header nav{gap:16px}.public-site .header .brand-name{font-size:31px}.public-site .brand-sign{width:33px;height:33px}.public-site .header nav a,.public-site .mega-menu summary{font-size:10px}.public-site .hero{grid-template-columns:47% 53%}.public-site .hero h1{font-size:76px}.public-site .hero-media{height:560px}.public-site .manifesto a{gap:12px;padding-inline:20px;font-size:16px}}
@media(max-width:1000px){.public-site .header nav a,.public-site .mega-menu summary{font-size:18px}.public-site .header nav{gap:10px}.public-site .header nav>a:after{display:none}.public-site .hero{min-height:550px}.public-site .hero h1{font-size:63px}.public-site .hero-media{height:480px}.public-site .hero .intro{font-size:13px}.public-site .hero-margin-note{display:none}.public-site .gallery-section{grid-template-columns:45% 55%}.public-site .gallery-copy{padding:50px 5vw}.public-site .gallery-cover{min-height:500px}}
@media(max-width:600px){.public-site .section{padding:60px 6vw}.public-site .header{padding:17px 6vw;min-height:83px;gap:15px}.public-site .header .brand-name{font-size:29px}.public-site .brand-sign{width:32px;height:32px}.public-site .header .brand{gap:8px}.public-site .header .brand-name small{font-size:6px;margin-top:8px}.public-site .bag-button{font-size:10px;padding:8px 0 8px 10px}.public-site .bag-button span{margin-left:4px;width:22px;height:22px}.public-site .header .mobile-only{min-width:36px;min-height:36px;font-size:18px}
.public-site .hero{display:grid;grid-template-columns:1fr;padding:0 6vw 55px;min-height:0;gap:0}.public-site .hero-copy{padding:40px 0 20px}.public-site .hero .eyebrow{font-size:9px;margin-bottom:25px}.public-site .hero h1{font-size:clamp(54px,14.5vw,78px);line-height:1.03;letter-spacing:-.06em}.public-site .hero .intro{font-size:13px;margin:25px 0;max-width:290px}.public-site .hero .button{background:var(--ink);color:var(--paper)}.public-site .hero-secondary{margin-top:13px;font-size:10px}.public-site .hero-media{height:375px;min-height:0;padding:40px 5% 45px}.public-site .hero-media:before{inset:15px -2vw 15px}.public-site .hero-orbit{top:5%;height:86%}.public-site .hero-media figcaption{font-size:9px;margin-top:26px}.hero-media figcaption span+span{font-size:8px}.hero-scroll{left:6vw;right:6vw;bottom:16px;font-size:8px}.public-site .manifesto{display:grid;grid-template-columns:1fr;padding:0 6vw}.public-site .manifesto a{width:100%;padding:17px 0;border-right:0;border-bottom:1px solid var(--line);font-size:19px;gap:20px}.public-site .manifesto a:last-child{border-bottom:0}.public-site .manifesto a span{font-size:9px}
.public-site .section-heading{display:block;margin-bottom:25px}.public-site .section-heading h2{font-size:43px}.public-site .section-heading>p{padding-top:0;margin:20px 0 0;font-size:11px}.public-site .motion-tools{align-items:start;gap:10px;margin-bottom:25px}.public-site .motion-tools p{margin:0;font-size:10px}.public-site #original-works{grid-template-columns:1fr;gap:38px;padding-top:0}.public-site .portfolio-work:first-child,.public-site .portfolio-work:not(:first-child){grid-row:auto;grid-column:auto}.public-site .portfolio-caption{display:block}.public-site .portfolio-caption h3{font-size:28px}.public-site .portfolio-caption p{margin-top:10px;font-size:9px}.public-site .portfolio-bottom{align-items:stretch;gap:13px}.public-site .portfolio-bottom .text-link{align-self:start;font-size:10px}
.public-site .color-section{padding:55px 6vw}.color-intro{display:block;margin-bottom:45px}.color-intro h2{font-size:43px}.color-intro>p:not(.eyebrow){margin-top:23px;font-size:12px;max-width:290px}.identity-trace{position:relative;right:auto;bottom:auto;margin-top:12px;width:170px;height:40px}#identity-color-works{grid-template-columns:1fr;gap:44px;margin-bottom:25px}.color-work:last-child{width:78%;margin-left:auto}.color-caption h3{font-size:30px}.work-technique{font-size:8px}.color-art .art-open{width:35px;height:35px;font-size:20px}
.public-site .gallery-section{display:flex;flex-direction:column}.public-site .gallery-copy{padding:55px 6vw}.public-site .gallery-copy h2{font-size:47px}.public-site .gallery-copy p{max-width:310px}.public-site .gallery-cover{min-height:340px}.public-site .practice-grid>a{grid-template-columns:23px 34% 1fr;gap:15px;padding:22px 0}.public-site .practice-grid img{height:135px}.public-site .practice-grid h3,.public-site .practice-grid h2{font-size:26px}.public-site .practice-grid p{font-size:10px}.public-site .journal-grid h3{font-size:32px}.public-site .club h2{font-size:43px}.public-site .collection .section-heading h2{font-size:31px}
.public-site .footer{grid-template-columns:1fr;gap:30px}.public-site .footer>.brand{grid-column:1;grid-row:auto;font-size:58px}.public-site .footer>p,.public-site .footer nav{grid-column:1}.public-site .footer>p{font-size:13px}.public-site .footer-note{font-size:8px}.public-site .page-heading{padding:50px 6vw 45px}.public-site .page-heading h1{font-size:51px}.public-site .page-heading .lead{font-size:13px}.public-site .page-heading:after{width:140px;height:100px;right:0;bottom:-35px}.public-site .reading{font-size:14px}.public-site .reading h2{font-size:38px}.public-site .detail-info h2{font-size:40px}.public-site .original-detail .detail-art{padding:15px}.public-site .game-location>#room-name{font-size:28px}.public-site .game-header .brand{font-size:24px}.public-site .game-header .icon-button{width:37px;min-height:37px}.public-site .game-actions .game-button{font-size:11px}}
@media(prefers-reduced-motion:reduce){.public-site *,.public-site *:before,.public-site *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}#identity-hero-art,.hero-orbit{transform:none}.hero-art-button:hover .original-art,.color-art:hover .original-art{transform:none}}

/* A detail of Cerejeira brings the artist's own linework into the controls. */
.public-site :is(.button.dark,.game-actions .game-button,.filter.active){background-image:linear-gradient(90deg,#282924 0%,#282924ef 55%,#282924b8 100%),url('assets/control-cerejeira.webp');background-size:100% 100%,auto 190px;background-position:center,right center;background-repeat:no-repeat}
.public-site .button.dark:hover{background-image:linear-gradient(90deg,#3344a4 0%,#3344a4ed 55%,#3344a4db 100%),url('assets/control-cerejeira.webp')}
.public-site :is(.button.light,.close,.header .icon-button){background-image:linear-gradient(#f4f1e9e0,#f4f1e9e0),url('assets/control-cerejeira.webp');background-position:center;background-size:cover,150px auto}
.public-site .button.light:hover{background-image:linear-gradient(#ddbf59e8,#ddbf59e8),url('assets/control-cerejeira.webp')}
.public-site :is(.icon-button,.close,.art-open){border-radius:46% 54% 44% 56% / 53% 44% 56% 47%}
.public-site .game-header .icon-button,.public-site .art-open{background-image:linear-gradient(#282924de,#282924de),url('assets/control-cerejeira.webp');background-size:cover,125px auto;background-position:center}
.public-site .manifesto a span{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border:1px solid #28292480;border-radius:48% 52% 45% 55% / 55% 43% 57% 45%;color:var(--ink);background:linear-gradient(#f4f1e9bf,#f4f1e9bf),url('assets/control-cerejeira.webp') center/95px auto}
.public-site .manifesto b{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border:1px solid #28292480;border-radius:54% 46% 55% 45% / 44% 54% 46% 56%;font-size:15px;background:linear-gradient(#f4f1e9d9,#f4f1e9d9),url('assets/control-cerejeira.webp') center/105px auto;transition:transform .3s,border-color .3s}
.public-site .manifesto a:hover b{border-color:var(--blue);transform:rotate(12deg)}
.public-site :is(.text-link,.hero-secondary,.text-button){text-decoration-color:var(--blue);text-underline-offset:5px}
.public-site :is(.text-link,.hero-secondary,.text-button):after{content:'';display:inline-block;width:14px;height:14px;margin-left:7px;vertical-align:-3px;background:url('assets/identity-mark.svg') center/contain no-repeat;opacity:.65}
.public-site :is(.light-link,.game-toolbar .text-button):after{filter:invert(1)}
.public-site .bag-button span{border-radius:47% 53% 43% 57% / 55% 42% 58% 45%;background:linear-gradient(#f4f1e9d9,#f4f1e9d9),url('assets/control-cerejeira.webp') center/100px auto}
.public-site :is(.button,.icon-button,.close,.filter,.game-button):active{transform:scale(.98)}
@media(min-width:601px) and (max-width:900px){.public-site .manifesto a{gap:8px;padding-inline:10px}.public-site .manifesto a span{width:30px;height:30px;flex-basis:30px}.public-site .manifesto b{width:28px;height:28px;flex-basis:28px}}
@media(prefers-reduced-motion:reduce){.public-site .manifesto a:hover b,.public-site :is(.button,.icon-button,.close,.filter,.game-button):active{transform:none}}

/* The gallery preview is a capture of the visit; crop away its on-screen controls. */
.public-site .gallery-cover,.welcome-image{overflow:hidden}
.public-site .gallery-cover img,.welcome-image img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.02)}
.public-site .gallery-cover figcaption{z-index:1}
.welcome-image{position:relative;min-height:530px}
.welcome-image img{position:absolute;inset:0}

/* Artwork details are visual references for each area of practice. */
.public-site .practice-grid .practice-art{grid-column:2;grid-row:1/3;display:block;position:relative;overflow:hidden;width:100%;height:175px;background:#e6e3d9}
.practice-art .original-art{position:absolute;left:50%;top:50%;width:130%;transform:translate(-50%,-50%);transition:transform .7s}
.practice-grid>a:hover .practice-art .original-art{transform:translate(-50%,-50%) scale(1.035)}
.practice-credit{margin-top:24px}

/* A small orbit moves around the original reproduction, without changing it. */
.public-site .hero{overflow:clip}.public-site .hero-media{padding-inline:4%}
.public-site .hero-media:before{background:#e9ebe3;border-radius:48% 43% 46% 51%}
.public-site .hero-orbit{animation:hero-orbit 38s linear infinite;transform-origin:center}
.hero-orbit:after,.hero-orbit:before{content:'';position:absolute;border-radius:50%;background:#3344a4;box-shadow:0 0 0 4px #f4f1e9}
.hero-orbit:after{width:10px;height:10px;top:5%;left:25%}
.hero-orbit:before{width:7px;height:7px;right:12%;bottom:14%;background:#c7a957}
#identity-hero-art{padding:7px;background:#f4f1e9;box-shadow:0 18px 32px #2829241c,9px 11px 0 #2829240b}
.public-site .hero-media figcaption{display:grid;grid-template-columns:1fr auto;gap:3px 20px;align-items:center;margin-top:27px;padding-top:12px;border-top:1px solid var(--line)}
.hero-media figcaption span{grid-column:1}.hero-media figcaption span+span{text-align:left}
.hero-motion{grid-column:2;grid-row:1/3;min-height:44px;border:0;background:transparent;color:var(--muted);font:500 9px var(--sans);text-decoration:underline;text-underline-offset:4px}
.hero-media.motion-paused .hero-orbit{animation-play-state:paused}
@keyframes hero-orbit{from{transform:rotate(12deg)}to{transform:rotate(372deg)}}

/* The visible selection contains only credited reproductions. */
.public-site .selected-collection{max-width:none;background:#e9eae5;border-top:1px solid var(--line);padding:95px max(6vw,24px)}
.selection-heading,.selection-bar,.selection-footer{max-width:1400px;margin-inline:auto;display:flex;justify-content:space-between;gap:30px}
.selection-heading{align-items:end;margin-bottom:50px}.selection-heading h2{font-size:clamp(48px,5.4vw,82px);line-height:1.02}.selection-heading>p{max-width:280px;color:var(--muted);font-size:13px}
.selection-bar{align-items:center;border-block:1px solid var(--line);padding:17px 0;margin-bottom:38px;font-size:11px;color:var(--muted)}
.selection-filters{display:flex;gap:8px}.selection-filters button{border:1px solid transparent;border-radius:0 12px 0 0;background:transparent;color:var(--ink);padding:10px 16px;min-height:44px;font:600 11px var(--sans)}
.selection-filters button[aria-pressed=true]{background:linear-gradient(90deg,#282924f5,#282924bd),url('assets/control-cerejeira.webp') center/180px auto;color:var(--paper);border-color:var(--ink)}.selection-filters button:hover{border-color:var(--ink)}
.selection-grid{max-width:1400px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:55px 3vw;align-items:start}
.selection-card{min-width:0}.selection-art{display:block;position:relative;border:0;padding:0;background:#d9d9ce;width:100%;overflow:hidden;cursor:zoom-in}
.selection-art .original-art{transition:transform .7s}.selection-art:hover .original-art{transform:scale(1.025)}
.selection-open{position:absolute;right:12px;bottom:12px;background:linear-gradient(#282924db,#282924db),url('assets/control-cerejeira.webp') center/110px auto;color:var(--paper);border-radius:46% 54% 44% 56%;width:38px;height:38px;display:grid;place-items:center;font:20px var(--sans)}
.selection-caption{display:flex;gap:14px;align-items:start;padding-top:17px}.selection-caption h3{font-size:28px;line-height:1.1}.selection-caption p,.selection-caption>span{font:400 10px/1.7 var(--sans);color:var(--muted);margin:6px 0 0}.selection-caption>span:last-child{margin-left:auto;text-align:right;flex-shrink:0}
.selection-footer{border-top:1px solid var(--line);margin-top:55px;padding-top:24px;align-items:center}.selection-footer p{font-size:11px;max-width:430px;color:var(--muted)}
@media(max-width:850px){.selection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 4vw}.selection-heading>p{max-width:230px}}
@media(max-width:600px){.welcome-image{min-height:0;height:200px}.public-site .practice-grid .practice-art{height:135px}.public-site .selected-collection{padding:65px 6vw}.selection-heading{display:block;margin-bottom:30px}.selection-heading h2{font-size:50px}.selection-heading>p{margin-top:20px}.selection-bar{align-items:start;flex-direction:column;gap:10px}.selection-grid{gap:32px 18px}.selection-caption{gap:8px;flex-wrap:wrap}.selection-caption h3{font-size:23px}.selection-caption>span:last-child{margin-left:0;width:100%;text-align:left}.selection-footer{display:block}.public-site .hero-media figcaption{gap:10px}.hero-media figcaption span+span{font-size:8px}}
@media(prefers-reduced-motion:reduce){.public-site .hero-orbit{animation:none;transform:rotate(12deg)}.hero-motion{display:none}.practice-grid>a:hover .practice-art .original-art{transform:translate(-50%,-50%)}.selection-art:hover .original-art{transform:none}}

/* A ficha deixa a obra ocupar o espaço principal, como uma folha do portfólio. */
.public-site #detail-dialog:has(.original-detail){width:min(1220px,calc(100% - 32px));padding:clamp(24px,4vw,52px);background:#f4f1e9}
.public-site .original-detail{grid-template-columns:minmax(0,1.55fr) minmax(250px,.75fr);gap:clamp(28px,4.5vw,68px);align-items:start;padding-top:16px}
.public-site .original-detail .detail-art{min-height:clamp(300px,48vh,560px);padding:clamp(18px,3vw,36px);background:#e8e6dc;align-content:center;overscroll-behavior:contain}
.original-detail .original-art{box-shadow:0 12px 28px #49483a24}
.detail-image-caption{display:flex;justify-content:space-between;gap:12px;margin:15px 0 0;color:#74776c;font:italic 13px var(--serif)}
.public-site .original-detail .detail-info{padding:12px 0 0;min-width:0}
.public-site .original-detail .detail-info .eyebrow{margin:0 0 20px}
.public-site .original-detail .detail-info h2{font-size:clamp(42px,4.3vw,66px);line-height:1.02;margin:0 0 27px;letter-spacing:-.035em}
.detail-facts{border-top:1px solid #c9c9bc;border-bottom:1px solid #c9c9bc;padding:14px 0;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.public-site .original-detail .detail-facts p{margin:0;font-size:12px;line-height:1.5}
.public-site .original-detail .detail-intro{margin:24px 0;color:#5f625a;line-height:1.7;max-width:30ch}
.detail-zoom{padding:18px 20px;background:#e9e9df;border-radius:2px 22px 2px 2px}
.public-site .detail-zoom label{display:flex;justify-content:space-between;margin:0;font:italic 17px var(--serif)}
.detail-zoom-control{display:flex;align-items:center;gap:12px;color:#536258}
.public-site .original-detail .detail-zoom input{margin:12px 0;accent-color:#536258;cursor:pointer}
.public-site .original-detail .detail-zoom .small{margin:0;color:#60655c;line-height:1.5}
.public-site .original-detail .detail-info>.text-link{display:inline-block;margin-top:24px}
.public-site .original-detail .detail-source{margin-top:22px;color:#72766c;line-height:1.6}
@media(max-width:700px){.public-site #detail-dialog:has(.original-detail){padding:52px 20px 28px}.public-site .original-detail{grid-template-columns:1fr;gap:25px;padding:0}.public-site .original-detail .detail-art{min-height:240px;padding:20px}.public-site .original-detail .detail-info{padding:0}.public-site .original-detail .detail-info h2{font-size:42px}.detail-image-caption{font-size:12px}}

.public-site .game-dialog :is(.gallery-list,.keyboard-controls){border:0;padding:clamp(20px,3vw,32px);background:#f3f0e7}
.game-dialog :is(.gallery-list,.keyboard-controls) summary{min-height:48px;font:italic 20px/1.3 var(--serif);cursor:pointer}
.game-dialog .gallery-list[open] summary{margin-bottom:14px}
.game-dialog .accessible-slots{gap:14px}
.game-dialog .slot-card{display:flex;flex-direction:column;justify-content:center;gap:16px;min-width:0;padding:14px;background:#e8e5db;border:1px solid #d5d1c4;transition:background .2s,border-color .2s}
.game-dialog .slot-card:hover{background:#e0e4d9;border-color:#899889}
.game-dialog .slot-card>.original-art{margin:0}
.game-dialog .slot-card>img{height:120px;object-fit:contain;margin:0}
.game-dialog .slot-card>span:not(.original-art){font:18px/1.3 var(--serif)}
.game-dialog .walk-controls button{min-height:48px}
.game-dialog.list-only .game-header{position:relative;background:#22251f}
.game-dialog.list-only :is(.walk-stage,.game-toolbar,.keyboard-controls){display:none}
.game-dialog.list-only :is(#game-map,#game-settings){display:none}
.game-dialog.list-only>#gallery-status{padding-top:18px}
.ebook-section{padding:20px max(6vw,24px) 100px}
.ebook-help,.ebook-empty{max-width:60ch;color:#62665f;line-height:1.7}
#ebook-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:40px}
.ebook-card{display:grid;grid-template-columns:110px 1fr;gap:25px;padding:24px;background:#eae8de;align-items:start}
.ebook-card h2{font:32px/1.1 var(--serif);margin:10px 0}
.ebook-card p:not(.eyebrow){font-size:14px;line-height:1.7;white-space:pre-wrap}
.ebook-mark{min-height:145px;background:#d8ddcf;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;font:italic 16px var(--serif);border-radius:0 20px 0 0}
.ebook-mark img{width:42px;height:42px}
.reader-shell{max-width:1180px;margin:auto;padding:40px max(4vw,20px) 100px}
.reader-header{border-bottom:1px solid var(--line);padding:25px 0 30px}.reader-header h1{font:clamp(38px,5vw,64px)/1.05 var(--serif);margin:12px 0}.reader-header .eyebrow{margin:0}
.reader-tools{display:grid;grid-template-columns:1.1fr 1fr;gap:16px;margin:25px 0}.reader-tools details{background:#e9e9df;padding:20px}.reader-tools summary{cursor:pointer;font:italic 21px var(--serif)}
.reader-preferences{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;margin-top:20px}.reader-preferences label{font-size:13px}.reader-preferences input,.reader-preferences select{display:block;width:100%;margin-top:8px;min-height:44px;accent-color:#536258}.reader-preferences output{display:block;color:#555e53}
#reader-toc{max-height:220px;overflow:auto;margin:15px 0 0;padding-left:26px}#reader-toc button{border:0;background:none;text-align:left;text-decoration:underline;text-underline-offset:3px;min-height:44px;padding:6px;color:var(--ink)}#reader-toc button[aria-current]{font-weight:bold}
#reader-status{font-size:14px;color:#5a6359}
.reader-content{max-width:75ch;margin:25px auto 0;padding:clamp(22px,5vw,60px);background:#f4f0e5;color:#242820;font-size:var(--reader-size,20px);line-height:var(--reader-spacing,1.7);overflow-wrap:anywhere;scroll-margin-top:20px}
.reader-content :is(p,li,blockquote,td,th){font-size:inherit;line-height:inherit}.reader-content img{max-width:100%;height:auto}.reader-content table{display:block;overflow-x:auto}.reader-content a{color:inherit;text-decoration:underline}.reader-content:focus-visible{outline:3px solid #a34e35;outline-offset:3px}
[data-theme=light] .reader-content{background:white;color:#151515}[data-theme=dark] .reader-content{background:#222722;color:#f7f4e9}[data-theme=contrast] .reader-content{background:#000;color:#fff}
.reader-pagination{display:flex;justify-content:space-between;gap:16px;max-width:75ch;margin:25px auto}.reader-pagination button{min-height:48px;border:1px solid #7f897a;padding:10px 16px;background:transparent;color:var(--ink)}
.reader-tools details{scroll-margin-top:80px;border:1px solid #d4d7ca;border-radius:2px 18px 2px 2px}
.reader-tools summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px}
.reader-tools summary::-webkit-details-marker{display:none}.reader-tools summary:after{content:'+';font:24px var(--sans);color:#536258}.reader-tools details[open] summary:after{content:'−'}
.reader-quick{position:sticky;top:0;z-index:4;display:flex;align-items:center;gap:8px;padding:9px 12px;background:#f4f1e9;border:1px solid #d9d6c9;box-shadow:0 6px 14px #30382e12}
.reader-quick button{min-width:44px;min-height:44px;border:1px solid #c7ccbf;background:#fffdf7;color:#30382e;padding:8px 11px;font-size:13px;border-radius:2px 12px 2px 2px}
.reader-quick button:disabled{opacity:.4}.reader-quick-pages{margin-left:auto;display:flex;align-items:center;gap:6px}.reader-quick-pages button{font-size:20px;padding:4px}.reader-quick-pages span{min-width:42px;text-align:center;font:14px var(--serif);font-variant-numeric:tabular-nums}
.reader-content{scroll-margin-top:90px}.reader-content h1{font-size:1.8em;line-height:1.15}.reader-content h2{font-size:1.5em;line-height:1.2}.reader-content h3{font-size:1.25em;line-height:1.25}
@media(max-width:700px){.reader-tools{grid-template-columns:1fr}.reader-preferences{grid-template-columns:1fr}.reader-pagination button{flex:1}.reader-header h1{font-size:38px}}
@media(max-width:700px){.reader-shell{padding:25px 16px 70px}.reader-header{padding:20px 0 24px}.reader-tools{gap:8px;margin:18px 0}.reader-tools details{padding:10px 16px}.reader-quick{gap:5px;padding:7px}.reader-quick button{padding:7px;font-size:12px}.reader-quick-pages{gap:2px}.reader-quick-pages button{font-size:19px}.reader-content{margin-top:16px;padding:24px 20px}.reader-pagination{gap:8px}}
@media(max-width:340px){.reader-quick button span{display:none}.reader-quick button{font-size:15px}}
@media(max-width:700px){#ebook-list{grid-template-columns:1fr}.ebook-card{grid-template-columns:85px 1fr;gap:18px;padding:18px}.ebook-mark{min-height:120px}.ebook-card h2{font-size:27px}}
@media(max-width:600px){
  .public-site .game-dialog :is(.gallery-list,.keyboard-controls){margin:14px 16px;padding:20px}
  .game-dialog :is(.gallery-list,.keyboard-controls) summary{font-size:18px}
  .game-dialog .accessible-slots{grid-template-columns:1fr;gap:9px}
  .game-dialog .slot-card{display:grid;grid-template-columns:minmax(90px,36%) 1fr;align-items:center;gap:16px;padding:10px;min-height:90px}
  .game-dialog .slot-card>img{height:72px}
  .game-dialog .slot-card>span:not(.original-art){font-size:18px}
  .public-site .game-toolbar{padding:8px 16px;gap:8px}
  .public-site .game-toolbar button{font-size:12px;min-height:48px}
  .game-dialog .walk-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .game-dialog .walk-controls button{font-size:12px}
}

/* Section notes echo the loose, connected lines in the artist's work. */
.public-site .eyebrow{font:italic 440 15px/1.4 var(--serif);letter-spacing:0;text-transform:none;color:#62665f}
.public-site .hero .eyebrow,.public-site .gallery-copy .eyebrow,.public-site .journal-grid .eyebrow,.public-site .game-location>.eyebrow{font-size:15px;letter-spacing:0;text-transform:none}
.public-site .hero .eyebrow,.public-site .portfolio-section .eyebrow{display:flex;align-items:center;gap:11px}
.public-site .hero .eyebrow:before,.public-site .portfolio-section .eyebrow:before{content:'';display:block;flex:0 0 28px;width:28px;height:22px;background:url('assets/identity-mark.svg') center/contain no-repeat;opacity:.8}
.public-site .portfolio-section .eyebrow:before{background-image:url('assets/identity-trace.svg');width:38px;flex-basis:38px}
.public-site .gallery-copy .eyebrow{color:var(--yellow)}.public-site .game-location>.eyebrow{color:var(--paper)}
.public-site .hero-motion{display:flex;align-items:center;gap:9px;color:var(--ink);text-decoration:none;font:italic 440 14px/1.2 var(--serif)}
.hero-motion .hero-motion-mark{display:grid;place-items:center;width:32px;height:32px;border:1px solid #656b64;border-radius:46% 54% 42% 58%;font:15px/1 var(--sans);color:var(--ink)}
.hero-motion .hero-motion-label{font:inherit;color:inherit}.hero-motion:hover .hero-motion-mark{border-color:var(--blue);color:var(--blue)}

/* A quick brand interlude for pages and the actual 3D loading state. */
.brand-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:var(--paper);color:var(--ink)}
.page-loading{position:fixed;inset:0;z-index:1000}
.public-site .game-loading{position:absolute;inset:0;z-index:5;pointer-events:auto;background:var(--paper);color:var(--ink)}
.loading-lockup{display:flex;align-items:center;gap:13px}.loading-lockup img{width:43px;height:43px;animation:loading-mark 1.3s ease-in-out infinite alternate}
.loading-lockup>div{display:flex;flex-direction:column}.loading-name{font:450 44px/.95 var(--serif);letter-spacing:-.06em}.loading-subtitle{font:500 9px/1.5 var(--sans);letter-spacing:.1em;margin-top:10px}
.loading-note{font:italic 14px/1.4 var(--serif);color:var(--muted)}
.public-site .header .original-brand{width:190px;height:auto;max-height:65px;object-fit:contain}
.public-site .footer-original-brand{width:min(340px,100%);height:auto}
.public-site .game-original-brand{width:130px;height:auto;max-height:55px;object-fit:contain}
.brand-loading .loading-lockup img{width:230px;height:auto;animation:original-logo-loading 1.3s ease-in-out infinite alternate}
.ebook-mark img{width:85%;height:auto;max-height:90px;object-fit:contain}
.ebook-publisher{display:flex;align-items:center;justify-content:space-between;gap:28px;background:#27342b;color:#f5f1e8;padding:28px 32px;margin:10px 0 35px}
.ebook-publisher img{width:180px;max-width:45%;height:auto}.ebook-publisher p{font:italic 20px/1.4 var(--serif);max-width:20ch;margin:0}
@keyframes original-logo-loading{from{opacity:.55}to{opacity:1}}
@media(max-width:600px){.public-site .header .original-brand{width:145px;max-height:52px}.public-site .game-original-brand{width:112px}.brand-loading .loading-lockup img{width:185px;height:auto}.ebook-publisher{padding:24px;gap:18px}.ebook-publisher p{font-size:16px}}
@keyframes loading-mark{from{transform:rotate(-7deg);opacity:.65}to{transform:rotate(8deg);opacity:1}}
@media(max-width:600px){.public-site .hero .eyebrow,.public-site .gallery-copy .eyebrow,.public-site .journal-grid .eyebrow{font-size:14px}.loading-name{font-size:38px}.loading-lockup img{width:37px;height:37px}.public-site .hero-motion{font-size:13px}}

.initial-loading #page-loading{display:flex!important}

#real-checkout input,#real-checkout select,#real-checkout textarea{width:100%;min-height:44px;box-sizing:border-box}#real-checkout label{display:block;margin-top:16px}#real-checkout button{min-height:44px}#pix-code{width:100%;min-height:100px;word-break:break-all}
