@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800;900&family=Lilita+One&family=Caveat:wght@600;700&display=swap');
:root{--yellow:#FCCB05;--red:#E91117;--blue:#0451DD;--pink:#FA7CCE;--orange:#FA5104;--green:#078B55;--cream:#F5EEDC;--ink:#111111;--display:'Cooper Black','Cooper Std Black','Lilita One',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--yellow);color:var(--ink);font-family:Archivo,Arial,sans-serif}body:after{content:'';position:fixed;inset:0;pointer-events:none;z-index:50;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.5' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid currentColor;outline-offset:6px}header{position:absolute;z-index:20;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:24px 4vw}.logo{width:98px;height:61px;overflow:hidden;position:relative;display:block}.logo img{position:absolute;width:174px;max-width:none;left:-38px;top:-27px}nav{display:flex;gap:34px;font-size:14px;font-weight:600}nav a:hover{text-decoration:underline;text-underline-offset:5px}.pill{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:16px 24px;border:1px solid var(--ink);border-radius:60px;font-size:14px;font-weight:700;background:var(--cream);transition:transform .25s,background .25s}.pill:hover{transform:rotate(-3deg);background:var(--pink)}.skip{position:fixed;left:10px;top:-100px;z-index:99;padding:16px;background:white}.skip:focus{top:10px}.hero{min-height:950px;height:115svh;position:relative;padding:130px 4vw 30px;overflow:hidden}.eyebrow{display:flex;justify-content:space-between;font-size:12px;letter-spacing:1px;font-weight:600}.hero-copy{position:relative;z-index:4;padding-top:60px}h1{font-family:var(--display);font-size:clamp(64px,10.6vw,180px);line-height:.98;letter-spacing:-.025em;margin:0;color:var(--red);font-weight:900}h1 span{display:block}.blue{color:var(--blue)}.hero-bottom{display:flex;align-items:center;gap:40px;margin-top:32px}.hero-bottom p{font-size:17px;line-height:1.35}.round{display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;height:64px;width:64px;font-size:34px}.note{font-family:Caveat,cursive;font-size:32px!important;line-height:.95!important;transform:rotate(-8deg);margin-left:auto;margin-right:10vw}.hero-collage{position:absolute;inset:0;pointer-events:none}.sprite{background-image:url('assets/worlds.png');background-size:500% 400%}.photo{position:absolute;width:22vw;aspect-ratio:1.2;box-shadow:0 14px 30px #1112;border:8px solid var(--cream)}.photo-one{left:5%;top:66%;background-position:0 0;transform:rotate(-12deg)}.photo-two{left:39%;top:69%;background-position:25% 0;transform:rotate(8deg);width:25vw}.photo-three{right:3%;top:62%;background-position:75% 0;transform:rotate(-9deg)}.sticker{position:absolute;right:4%;top:46%;background:var(--pink);width:105px;height:105px;display:grid;place-content:center;text-align:center;font-size:17px;font-weight:900;border-radius:50%;transform:rotate(14deg)}.hero-foot{position:absolute;bottom:24px;left:4vw;right:4vw;display:flex;justify-content:space-between;font-size:12px;letter-spacing:1px}.hero-foot span:nth-child(2){font-size:26px}@media(max-width:700px){header{padding:20px}.logo{width:80px;height:52px}.logo img{width:150px;left:-34px;top:-23px}nav{display:none}.pill{padding:12px 18px}.hero{padding:112px 20px 20px;min-height:800px;height:100svh}.eyebrow{font-size:10px;gap:20px}.eyebrow span{max-width:110px;text-align:right}.hero-copy{padding-top:52px}h1{font-size:12vw;letter-spacing:-.025em;line-height:1.1}.hero-bottom{gap:24px;margin-top:15px}.hero-bottom p{font-size:15px}.note{display:none}.photo{width:44vw}.photo-one{top:61%;left:-7%}.photo-two{top:58%;left:29%;width:50vw}.photo-three{top:69%;right:-12%;width:45vw}.sticker{top:45%;right:6%;width:90px;height:90px;font-size:14px}.hero-foot{left:20px;right:20px;font-size:10px}.hero-foot span:last-child{max-width:120px;text-align:right}}
.kicker{font-size:12px;letter-spacing:1.2px;font-weight:600}h2,h3,p{margin:0}h2{font-family:var(--display);font-size:clamp(48px,7vw,110px);line-height:1.02;letter-spacing:-.025em;font-weight:900}h2 em{font-style:normal}section,footer{position:relative}section[id],footer[id]{scroll-margin-top:0}.ribbon{position:relative;z-index:5;margin-top:-8px;padding:17px 0;background:var(--pink);overflow:hidden;transform:rotate(-2deg);border-block:1px solid var(--ink)}.ribbon div{width:max-content;font-size:21px;font-weight:800;animation:marquee 28s linear infinite}@keyframes marquee{to{transform:translateX(-50%)}}.manifesto{height:175svh;background:var(--blue);color:var(--cream);margin-top:-30px;border-radius:9vw 0 0 0}.manifesto-sticky{position:sticky;top:0;min-height:100svh;padding:80px 6vw 35px;display:flex;flex-direction:column;justify-content:center;gap:30px;overflow:hidden}.manifesto h2{font-size:clamp(46px,7.2vw,112px);position:relative;z-index:2}.taste{color:var(--pink);display:inline-block}.manifesto-note{position:absolute;right:8%;top:33%;transform:rotate(7deg);font-size:17px;line-height:1.4}.asterisk{display:block;color:var(--yellow);font-size:150px;line-height:1.1;text-align:center}.manifesto-bottom{font-size:16px;line-height:1.4;position:relative;z-index:3}.worlds{height:240svh;background:var(--cream);margin-top:-2px;z-index:3;border-radius:5vw 5vw 0 0}.worlds-sticky{position:sticky;top:0;height:100svh;min-height:690px;padding:36px 0 22px;overflow:hidden}.section-top{display:flex;justify-content:space-between;padding:0 4vw;font-size:12px}.worlds h2{font-size:clamp(40px,5.4vw,90px);padding:25px 4vw 22px;color:var(--blue);position:relative;z-index:2}.worlds h2 em{color:var(--red)}.world-track{display:flex;gap:4vw;padding:0 4vw;width:max-content;will-change:transform}.world-card{width:36vw;flex:none;transform-origin:center;transition:filter .35s}.world-card:nth-child(2){transform:rotate(3deg)}.world-card:nth-child(3){transform:rotate(-3deg)}.world-card:nth-child(4){transform:rotate(2deg)}.work-image{width:100%;height:min(44svh,390px);border-radius:3px;background-size:500% 400%}.caption{display:flex;justify-content:space-between;gap:15px;padding:14px 0;align-items:center}.caption h3{font-size:18px;font-weight:700;letter-spacing:-.5px}.caption span{font-size:10px;max-width:110px;text-align:right}.gallery-footer{display:flex;justify-content:space-between;padding:25px 4vw 0;font-size:11px}.possibilities{background:var(--pink);padding:100px 5vw;display:grid;grid-template-columns:1fr 1.1fr;gap:6vw;border-radius:8vw 0 0 0;margin-top:-1px;z-index:4}.service-intro h2{margin:30px 0;font-size:5.2vw;color:var(--red)}.service-intro h2 em{color:var(--blue)}.service-intro p{font-size:17px;line-height:1.5;max-width:360px}.service-intro .note{display:block;margin:45px 0 0 40px}.service-list details{border-top:1px solid #1116;padding:21px 0}.service-list details:last-child{border-bottom:1px solid #1116}summary{display:flex;align-items:center;gap:25px;cursor:pointer;font-size:clamp(21px,2.3vw,38px);letter-spacing:-1px;font-weight:800;list-style:none}summary::-webkit-details-marker{display:none}summary span{font-size:12px;letter-spacing:0;font-weight:400}summary b{margin-left:auto;font-size:24px;font-weight:400;transition:transform .2s}details[open] summary b{transform:rotate(45deg)}details p{margin:18px 35px 0;font-size:16px;line-height:1.5;max-width:440px}.process{background:var(--green);color:var(--cream);height:180svh}.process-sticky{position:sticky;top:0;height:100svh;min-height:670px;padding:50px 5vw;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.decision{position:relative}.decision h2{position:relative;z-index:2;font-size:8vw}.decision h2>span{font:600 16px Archivo,sans-serif;letter-spacing:1px}.decision em{color:var(--yellow)}.generation-number{position:absolute;right:-2vw;top:-70px;font-weight:900;font-size:35vw;line-height:1;color:var(--yellow);opacity:.12;letter-spacing:-.09em}.process-bottom{display:flex;justify-content:space-between;font-size:16px;line-height:1.4}.process-label{font-weight:700;color:var(--yellow)}.steps{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #f5eedc66;padding-top:22px;font-size:11px}.steps span{opacity:.55}.steps span.active{opacity:1;color:var(--yellow)}.attitude{background:var(--red);display:grid;grid-template-columns:1fr 1fr;align-items:stretch;min-height:750px;margin-top:-1px;z-index:3}.attitude-photo{background-position:25% 0;background-size:500% 400%;min-height:600px;border-radius:0 30% 30% 0}.attitude-copy{padding:60px 5vw 70px 4vw;color:var(--yellow)}.attitude h2{font-size:5.5vw;margin:30px 0}.attitude p{color:var(--cream);font-size:17px}.prompt{display:inline-block;color:var(--blue);background:var(--pink);padding:16px 25px;font-size:24px;font-weight:900;transform:rotate(-7deg);margin-top:40px}footer{background:var(--yellow);padding:60px 5vw 25px;border-radius:7vw 7vw 0 0;margin-top:-35px;z-index:4}.footer-top{display:flex;justify-content:space-between;align-items:center}.footer-top .note{display:block;margin:0}footer h2{font-size:9vw;color:var(--red);margin:50px 0 35px}footer h2 em{color:var(--blue)}.contact-link{background:var(--blue);border-color:var(--blue);color:var(--cream);padding:22px 30px}.contact-link:hover{background:var(--ink)}.footer-bottom{margin-top:80px;border-top:1px solid #1115;padding-top:25px;display:flex;justify-content:space-between;gap:20px;font-size:11px}.motion-toggle{position:fixed;bottom:18px;right:18px;z-index:60;border:1px solid #1115;background:var(--cream);color:var(--ink);border-radius:30px;padding:10px 14px;font:500 12px Archivo,Arial,sans-serif;cursor:pointer}.progress{position:fixed;left:0;top:0;height:4px;background:var(--red);width:0;z-index:70}.motion-off .ribbon div{animation:none}.motion-off .manifesto,.motion-off .worlds,.motion-off .process{height:auto}.motion-off .manifesto-sticky,.motion-off .worlds-sticky,.motion-off .process-sticky{position:relative;height:auto;min-height:0}.motion-off .world-track{width:auto;display:grid;grid-template-columns:1fr 1fr}.motion-off .world-card{width:auto;transform:none}.motion-off .taste{clip-path:none!important}.motion-off .process-sticky{gap:45px}.motion-off .manifesto-sticky{padding-block:90px}.motion-off .worlds-sticky{padding-bottom:50px}@media(hover:hover){.world-track:hover .world-card{filter:blur(2px);opacity:.8}.world-track .world-card:hover{filter:none;opacity:1}}
@media(max-width:700px){.kicker{font-size:11px}.manifesto{height:145svh}.manifesto-sticky{padding:65px 20px 40px;min-height:100svh;gap:30px}.manifesto h2{font-size:10.8vw}.manifesto-note{position:static;display:flex;align-items:center;gap:25px;transform:none;font-size:14px}.asterisk{font-size:65px}.manifesto-bottom{font-size:14px}.worlds{height:auto}.worlds-sticky{position:relative;height:auto;min-height:0;padding:40px 0}.section-top{padding-inline:20px}.section-top>span:last-child{display:none}.worlds h2{font-size:10vw;padding:25px 20px}.world-track{display:flex;width:auto;overflow-x:auto;scroll-snap-type:x mandatory;gap:20px;padding:10px 20px 25px;transform:none!important}.world-card{width:82vw;scroll-snap-align:center;transform:none!important}.work-image{height:77vw}.caption{align-items:flex-start}.caption h3{font-size:17px}.gallery-footer{font-size:10px;padding:10px 20px 0}.possibilities{padding:60px 20px;grid-template-columns:1fr;gap:40px;border-radius:12vw 0 0 0}.service-intro h2{font-size:12vw;margin:24px 0}.service-intro p{font-size:16px}.service-intro .note{display:none}summary{font-size:25px;gap:20px}details p{margin-left:32px}.process{height:150svh}.process-sticky{padding:50px 20px;min-height:650px}.decision h2{font-size:13vw}.decision h2>span{font-size:13px}.generation-number{font-size:60vw;top:-95px}.steps{flex-wrap:wrap;gap:15px;font-size:10px}.process-bottom{font-size:14px;gap:20px}.attitude{grid-template-columns:1fr;min-height:0}.attitude-photo{min-height:0;aspect-ratio:1.2;border-radius:0 0 30% 0}.attitude-copy{padding:40px 20px 85px}.attitude h2{font-size:12vw;margin:25px 0}.prompt{font-size:22px}footer{padding:45px 20px 70px}footer h2{font-size:12vw;margin:35px 0}.footer-bottom{flex-wrap:wrap;font-size:10px;margin-top:50px;line-height:1.5}.footer-top .note{font-size:25px!important}.contact-link{font-size:12px;padding:20px}.motion-off .world-track{display:flex}.motion-off .world-card{width:82vw}.motion-off .manifesto-sticky{padding-block:60px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ribbon div{animation:none}*{transition:none!important}}
/* Exact viewports into the supplied brand contact sheet. */
.photo-one,.world-card:nth-child(1) .work-image{background-size:446.512% 334.641%;background-position:0 0!important}
.photo-two,.attitude-photo,.world-card:nth-child(2) .work-image{background-size:540.845% 334.641%;background-position:27.8754% 0!important}
.photo-three{background-size:506.931% 335.738%;background-position:75.1014% 0!important}
.world-card:nth-child(3) .work-image{background-size:510.299% 393.846%;background-position:50.1215% 40.7068%!important}
.world-card:nth-child(4) .work-image{background-size:506.931% 512%;background-position:0 100%!important}
@media(min-width:701px) and (max-height:760px){.manifesto-sticky{gap:18px;padding-top:40px}.manifesto h2{font-size:min(7.2vw,12svh)}}
body{overflow-x:clip}h1,h2{font-weight:400;letter-spacing:-.015em}
/* V2 — connected editorial composition */
.site-header{position:fixed;inset:0 0 auto;display:flex;padding:0;background:var(--red);height:76px;border-bottom:1px solid var(--yellow);color:var(--yellow)}
.site-header .logo{margin:0;width:142px;height:76px;background:var(--yellow);flex:none}
.site-header .logo img{width:174px;left:-16px;top:-19px}
.site-header nav{display:grid;grid-template-columns:repeat(4,1fr);width:100%;gap:0}
.site-header nav a{display:grid;place-items:center;border-left:1px solid #fccb0588;text-transform:uppercase;font-weight:800;font-size:15px;transition:background .2s,color .2s}
.site-header nav a:hover,.site-header nav a.active{background:var(--yellow);color:var(--red);text-decoration:none}
.hero-journey{height:155svh}
.hero{position:sticky;top:0;height:100svh;min-height:760px;padding:110px 4vw 25px;background:var(--yellow);isolation:isolate}
.hero .eyebrow{position:relative;z-index:5}
.hero-copy{padding:28px 0 0;position:relative;z-index:4;pointer-events:none}
.hero h1{font-size:clamp(80px,10.7vw,160px);line-height:.87;letter-spacing:-.025em;width:69%;transform:rotate(-3deg)}
.hero h1 .further{color:var(--pink);-webkit-text-stroke:1px var(--pink)}
.hero-media{position:absolute;left:51%;right:0;top:76px;bottom:0;z-index:1;border-radius:42% 0 0 22%;overflow:hidden;transform:rotate(0deg)}
.hero-mirror{position:absolute;inset:0;background-size:506.931% 335.738%;background-position:75.1014% 0}
.hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#1112,transparent)}
.media-tag{position:absolute;bottom:11%;right:8%;font-family:Caveat,cursive;color:var(--cream);font-size:40px;transform:rotate(8deg);z-index:2}
.hero-intro{position:absolute;left:4vw;bottom:65px;display:flex;align-items:center;gap:35px;z-index:5}
.hero-intro p{font-size:16px;line-height:1.35}
.circle-link{width:56px;height:56px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:29px}
.hero-stamp{position:absolute;right:5%;top:20%;z-index:6;width:128px;height:128px;display:grid;place-content:center;background:var(--pink);color:var(--ink);border-radius:50%;text-align:center;font-size:40px;line-height:.8;transform:rotate(12deg)}
.hero-stamp span{font:800 16px/1 Archivo,sans-serif;margin-top:8px}
.hero-foot{z-index:5}.hero-foot span:last-child{color:var(--cream)}
@media(max-width:700px){.site-header{height:64px}.site-header .logo{width:84px;height:64px}.site-header .logo img{width:137px;left:-27px;top:-14px}.site-header nav a{font-size:10px;padding:0 5px}.hero-journey{height:135svh}.hero{min-height:760px;padding:91px 20px 20px}.hero .eyebrow{font-size:10px}.hero .eyebrow span:last-child{display:none}.hero-copy{padding-top:35px}.hero h1{font-size:19vw;width:100%;line-height:.95}.hero-media{left:35%;top:180px;bottom:100px;right:-20%;border-radius:45% 0 0 30%}.hero-stamp{top:118px;right:6%;width:90px;height:90px;font-size:25px}.hero-stamp span{font-size:12px}.hero-intro{bottom:54px;left:20px;gap:20px}.hero-intro p{font-size:14px;background:var(--yellow);padding:8px}.hero-foot span:last-child{color:var(--ink)}.media-tag{font-size:26px;right:28%;bottom:9%}}
/* V2 narrative: the palette flows through a single poster-like canvas. */
:root{--nav-height:76px}
html{scroll-padding-top:var(--nav-height)}
body:after{opacity:.025}
h1,h2{letter-spacing:-.02em}
.art{background-image:url('assets/worlds.png');background-repeat:no-repeat}
.art-mirror{background-size:506.931% 335.738%;background-position:75.1014% 0}
.art-ice{background-size:508.609% 334.641%;background-position:100% 0}
.art-road{background-size:517.172% 426.667%;background-position:50.04% 73.7245%}
.art-cherry{background-size:493.89% 424.896%;background-position:75.102% 73.69%}
.hero .eyebrow{color:var(--ink);font-size:12px;letter-spacing:.04em}
.hero .eyebrow span:last-child{background:var(--yellow);padding:5px 8px}
.hero-copy{will-change:transform}
.hero-media{will-change:clip-path,transform}
.hero-mirror{will-change:transform}
.hero-intro{transition:opacity .2s}
.circle-link:hover{background:var(--pink);transform:rotate(-12deg)}
.ribbon{margin-top:-1px;transform:none;border:0;padding:16px 0;background:var(--pink);color:var(--ink);z-index:7}
.ribbon div{font-size:24px;line-height:1.2}
.manifesto{background:var(--red);color:var(--yellow);margin-top:0;border-radius:0;height:180svh}
.manifesto-sticky{min-height:0;height:100svh;padding:110px 4vw 40px;display:grid;grid-template-columns:1.6fr 1fr;grid-template-rows:auto 1fr auto;gap:25px 7vw}
.manifesto-sticky>.kicker{grid-column:1/-1}
.manifesto h2{align-self:center;font-size:clamp(45px,7.4vw,114px);line-height:.99;letter-spacing:-.018em}
.manifesto .taste{color:var(--cream)}
.agency-note{align-self:center;position:relative;padding-top:15px}
.mini-label{font:12px/1.4 Archivo,sans-serif;letter-spacing:.08em}
.agency-note p{font-size:clamp(16px,1.6vw,23px);line-height:1.45;margin-top:25px;max-width:370px}
.agency-note .note{display:block;font-size:33px!important;margin:28px 0 0 0;color:var(--cream)}
.agency-note .asterisk{position:absolute;right:5%;bottom:-140px;font-size:120px;color:var(--pink);transform-origin:center}
.manifesto-bottom{grid-column:1/-1;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.07em;border-top:1px solid #fccb0570;padding-top:20px}
.worlds{height:245svh;background:var(--blue);color:var(--cream);border-radius:0;margin-top:0;z-index:3}
.worlds-sticky{height:100svh;min-height:760px;padding:100px 0 20px}
.worlds .section-top{font-size:12px}
.worlds h2{font-size:clamp(36px,4.8vw,76px);line-height:.95;color:var(--pink);padding:20px 4vw 25px}
.worlds h2 em{color:var(--yellow)}
.world-track{gap:18px;padding:0 4vw;align-items:start}
.world-card{width:31vw;transform:none!important;position:relative}
.world-card .work-image{height:24svh;min-height:160px;max-height:260px;border-radius:0}
.world-track .caption{padding:10px 0 14px;align-items:baseline}
.caption h3{font-size:16px;letter-spacing:0}
.caption span{font-size:10px}
.track-two{margin-top:4px}
.track-two .art-mirror{background-size:506.931% 335.738%;background-position:75.1014% 0!important}
.track-two .art-ice{background-size:508.609% 334.641%;background-position:100% 0!important}
.track-two .art-road{background-size:517.172% 426.667%;background-position:50.04% 73.7245%!important}
.track-two .art-cherry{background-size:493.89% 424.896%;background-position:75.102% 73.69%!important}
.worlds .gallery-footer{font-size:11px;padding-top:10px}
.floating-note{position:absolute;right:2vw;top:140px;color:var(--cream);font-size:28px!important;margin:0;transform:rotate(6deg)}
@media(hover:hover){.world-track:hover .world-card{filter:none;opacity:1}.world-card .work-image{transition:filter .3s}.world-card:hover .work-image{filter:saturate(1.15)}}
.crossing-ribbons{height:140px;position:relative;background:var(--cream);z-index:6;overflow:clip;margin-top:-1px}
.ribbon-line{position:absolute;left:-10%;width:120%;top:22px;padding:14px 0;font-size:27px;line-height:1;font-weight:900;white-space:nowrap;background:var(--yellow);color:var(--red);transform:rotate(-5deg)}
.second-line{top:65px;background:var(--green);color:var(--cream);transform:rotate(4deg)}
.possibilities{background:var(--cream);border-radius:0;padding:55px 4vw 110px;gap:7vw;grid-template-columns:.95fr 1.3fr}
.service-intro{position:sticky;top:115px;align-self:start}
.service-intro h2{font-size:5.8vw;line-height:.95;margin-top:30px}
.service-intro p{font-size:17px}
.service-orbit{font-size:140px;line-height:1;color:var(--orange);display:inline-block;margin-top:25px}
.service-intro .note{display:inline-block;margin:10px 0 0 25px;vertical-align:top;padding-top:35px}
.service-list details{padding:22px 14px;transition:background .2s,color .2s}
.service-list summary{font-size:clamp(23px,2.5vw,42px);font-weight:800;letter-spacing:-.04em}
.service-list details[open]{background:var(--yellow)}
.service-list details:nth-child(3)[open]{background:var(--pink)}
.service-list details:nth-child(5)[open]{background:var(--blue);color:var(--cream)}
.service-list details p{font-size:16px;line-height:1.5;margin-left:36px}
.service-list summary span{letter-spacing:0;font-size:12px}
.process{height:175svh;background:var(--ink);color:var(--cream)}
.process-sticky{padding:115px 4vw 50px;min-height:720px}
.decision h2{font-size:9.2vw;line-height:.95}
.decision em{color:var(--pink)}
.decision h2>span{font-size:14px}
.generation-number{font-family:var(--display);font-size:38vw;opacity:.25;right:0;top:-40px;color:var(--orange);font-weight:400}
.process-label{color:var(--pink)}
.steps span.active{color:var(--pink)}
.attitude{background:var(--orange);min-height:800px;grid-template-columns:1.2fr 1fr;overflow:clip}
.attitude-photo{min-height:800px;border-radius:0 0 35% 0;transform-origin:center;will-change:transform}
.attitude-copy{color:var(--ink);padding-top:80px;z-index:2}
.attitude h2{font-size:5.8vw;line-height:1.04;letter-spacing:-.02em}
.attitude p{color:var(--ink)}
.prompt{background:var(--yellow);color:var(--blue)}
footer{border-radius:10vw 0 0 0;background:var(--pink);padding:70px 4vw 30px;margin-top:-45px;overflow:clip}
footer h2{font-size:9.3vw;position:relative;z-index:2}
.footer-scribble{position:absolute;right:6%;bottom:110px;color:var(--red);font-size:260px;line-height:1;transform:rotate(20deg)}
.footer-top,.footer-bottom,.contact-link{position:relative;z-index:3}
.footer-bottom{padding-bottom:30px}
.contact-link{border:0}
.cursor-note{display:none;position:fixed;left:0;top:0;z-index:65;pointer-events:none;background:var(--yellow);border-radius:50%;width:70px;height:70px;place-content:center;text-align:center;font-size:13px;font-weight:900;transform:translate(-50%,-50%);color:var(--ink)}
.motion-toggle{font-size:12px;padding:10px 15px;bottom:15px;right:15px}
.motion-off .hero-journey{height:auto}.motion-off .hero{position:relative}
.motion-off .agency-note .asterisk{position:static;font-size:80px;text-align:left;margin-top:20px}
.motion-off .manifesto-sticky{display:grid;min-height:750px;height:auto}
.motion-off .worlds-sticky{padding-top:110px}
.motion-off .world-track{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.motion-off .world-card{width:100%}
.motion-off .world-card .work-image{height:22vw}
.motion-off .track-two{margin-top:30px}
.motion-off .floating-note{display:none}
.motion-off .world-track .caption{display:block}
.motion-off .caption span{text-align:left;display:block;margin-top:6px}
@media(max-width:1000px) and (min-width:701px){
 .hero h1{font-size:12.5vw}
 .hero-intro{bottom:45px}
 .worlds-sticky{min-height:740px}
 .worlds .world-card{width:40vw}
 .floating-note{display:none}
 .manifesto-sticky{gap:20px 4vw}
 .agency-note .asterisk{font-size:90px;bottom:-90px}
 .service-orbit{font-size:90px}
 .service-intro .note{display:none}
 .attitude h2{font-size:5.3vw}
}
@media(max-width:700px){
 :root{--nav-height:64px}
 .hero .eyebrow{font-size:10px}
 .hero-media{transform:none}
 .ribbon div{font-size:17px}.ribbon{padding:13px 0}
 .manifesto{height:155svh}
 .manifesto-sticky{padding:100px 20px 30px;height:auto;min-height:100svh;grid-template-columns:1fr;grid-template-rows:auto;gap:25px}
 .manifesto h2{font-size:11.5vw}
 .agency-note{padding:0;display:grid;grid-template-columns:1.1fr 1fr;gap:16px}
 .agency-note .mini-label{grid-column:1/-1;font-size:10px}
 .agency-note p{font-size:14px;margin:0}
 .agency-note .note{font-size:27px!important;grid-column:1/-1;margin:0}
 .agency-note .asterisk{position:absolute;right:0;bottom:0;font-size:58px}
 .manifesto-bottom{font-size:9px;gap:15px;padding-top:16px}
 .worlds{height:auto}
 .worlds-sticky{height:auto;min-height:0;padding:45px 0}
 .worlds h2{font-size:9.2vw;padding:25px 20px;line-height:1.02}
 .world-track{overflow-x:auto;width:auto;padding:0 20px 12px;gap:14px}
 .worlds .world-card{width:73vw;flex:none}
 .world-card .work-image{height:56vw;max-height:none;min-height:0}
 .worlds .caption{display:block}
 .caption span{display:block;max-width:none;text-align:left;font-size:10px;margin-top:5px}
 .caption h3{font-size:16px}
 .floating-note{display:none}
 .track-two{margin-top:12px}
 .gallery-footer{font-size:9px!important;gap:20px}
 .crossing-ribbons{height:110px}
 .ribbon-line{font-size:20px;padding:13px 0;top:17px}
 .second-line{top:54px}
 .possibilities{padding:35px 20px 70px;grid-template-columns:1fr;gap:35px}
 .service-intro{position:static}
 .service-intro h2{font-size:13vw;margin-block:22px}
 .service-intro p{font-size:16px}
 .service-orbit{display:none}
 .service-intro .note{display:none}
 .service-list details{padding:20px 10px}
 .service-list summary{font-size:24px;gap:15px;letter-spacing:-.03em}
 .service-list details p{font-size:16px;margin-left:25px}
 .process{height:150svh}
 .process-sticky{min-height:690px;padding:100px 20px 40px}
 .decision h2{font-size:14vw}
 .decision h2>span{font-size:12px}
 .generation-number{font-size:75vw;top:-90px}
 .process-bottom{font-size:14px}
 .attitude{grid-template-columns:1fr;min-height:0}
 .attitude-photo{min-height:0;aspect-ratio:1.1;border-radius:0 0 25% 0}
 .attitude-copy{padding:40px 20px 90px}
 .attitude h2{font-size:12.5vw;margin:25px 0}
 .attitude p{font-size:16px}
 footer{padding:45px 20px 70px;margin-top:-35px;border-radius:15vw 0 0 0}
 footer h2{font-size:12.1vw;margin:45px 0 30px}
 .footer-scribble{font-size:125px;right:8%;bottom:120px;opacity:.35}
 .footer-bottom{font-size:10px;padding-bottom:0}
 .motion-off .manifesto-sticky{min-height:0;padding:65px 20px}
 .motion-off .agency-note .asterisk{display:none}
 .motion-off .worlds-sticky{padding-top:45px}
 .motion-off .world-track{display:flex}
 .motion-off .world-card{width:73vw}
 .motion-off .world-card .work-image{height:56vw}
}
@media(hover:none){.cursor-note{display:none!important}}
@media(prefers-reduced-motion:reduce){.hero-journey,.manifesto,.worlds,.process{height:auto}.hero,.manifesto-sticky,.worlds-sticky,.process-sticky{position:relative}.ribbon div{animation:none}}
@media(min-width:701px){.hero h1{font-size:min(10.7vw,15svh)}.hero .eyebrow{padding-top:3px}.hero{min-height:700px}}
@media(max-width:700px){.hero h1{font-size:min(19vw,10svh)}.hero-copy{padding-top:30px}.hero-intro .circle-link{background:var(--yellow)}}
@media(min-width:701px) and (max-height:780px){.worlds-sticky{min-height:700px;padding-top:96px}.worlds h2{font-size:4vw;padding-top:15px;padding-bottom:20px}.world-card .work-image{height:22svh;min-height:145px}.worlds .caption{padding-block:8px}.manifesto-sticky{padding-top:105px;padding-bottom:28px;gap:14px}.manifesto h2{font-size:min(7.4vw,11.8svh)}}
.site-header .logo{display:grid;place-items:center}
.logo-crop{display:block;position:relative;overflow:hidden;width:100px;height:61px}
.site-header .logo-crop img{width:174px;left:-38px;top:-27px}
.hero-foot span:nth-child(2){font-size:12px;letter-spacing:.05em}
@media(min-width:701px) and (max-width:1000px){.hero h1{font-size:min(14vw,16svh)}.hero-intro{bottom:75px}.hero-foot{bottom:25px}.media-tag{font-size:32px}}
@media(max-width:700px){.logo-crop{width:72px;height:47px}.site-header .logo-crop img{width:130px;left:-29px;top:-20px}.hero-foot span:nth-child(2){font-size:10px}}
.taste{background-image:linear-gradient(90deg,#F5EEDC 0%,#F5EEDC66 0);background-clip:text;-webkit-background-clip:text;color:transparent!important}
.motion-off .taste{background:none;color:var(--cream)!important}
@media(max-width:700px){.hero .eyebrow{display:block}.hero .eyebrow span:first-child{max-width:none;text-align:left}.hero-foot{bottom:24px}.hero-foot span:last-child{padding-right:102px}.manifesto-bottom{padding-right:4px}.manifesto-bottom span:last-child{max-width:165px}.footer-bottom{padding-bottom:25px}}
@media(max-width:700px){.hero-foot span:last-child{display:none}.hero-foot{bottom:20px}.hero-intro{bottom:66px}}

.site-header nav{height:100%}
/* V3 — human taste, wider imagination. Original full-resolution image files. */
.hero-mirror,.work-image,.attitude-photo{background:none!important;overflow:hidden}
.hero-mirror img,.work-image img,.attitude-photo>img{width:100%;height:100%;object-fit:cover;display:block}
.hero-mirror img{object-position:center 49%}
.hero h1{font-size:min(11.5vw,16svh);line-height:.93;width:65%}
.hero h1 .further{color:var(--blue);-webkit-text-stroke:0}
.hero-stamp{width:144px;height:144px;top:19%;right:4%;border:2px dashed var(--ink);outline:6px solid var(--pink)}
.hero-stamp span{font-size:15px;line-height:1.15}
.hero-paper{position:absolute;width:19vw;height:25vw;max-height:360px;left:42%;top:29%;z-index:3;background:var(--cream);padding:9px 9px 45px;box-shadow:7px 12px 0 #1112;transform:translate(calc(var(--hero-progress,0) * -15vw),calc(var(--hero-progress,0) * 90px)) rotate(calc(-11deg + var(--hero-progress,0) * 25deg));opacity:calc(1 - var(--hero-progress,0));pointer-events:none}
.hero-paper img{width:100%;height:100%;object-fit:cover}
.hero-paper span{position:absolute;bottom:7px;left:12px;font:700 21px/.88 Caveat,cursive;color:var(--red);transform:rotate(-2deg)}
.hero-paper:before,.world-card:nth-child(odd):before{content:'';position:absolute;z-index:3;width:72px;height:23px;left:40%;top:-11px;background:var(--pink);transform:rotate(8deg);opacity:.9}
.media-tag{background:var(--yellow);color:var(--ink);padding:12px 20px;font-size:32px;right:7%;bottom:7%;box-shadow:5px 5px 0 var(--red)}
.manifesto h2{font-size:clamp(40px,6.05vw,100px);line-height:1.04}
.agency-note p{max-width:400px}.agency-note .note{max-width:320px}
.worlds-sticky{padding-top:105px}.worlds h2{font-size:clamp(32px,4.2vw,70px)}
.world-track{gap:30px;padding-top:13px;padding-bottom:6px}
.world-card{padding:8px 8px 0;background:var(--cream);color:var(--ink);box-shadow:6px 6px 0 #1113;transition:transform .3s}
.world-card:nth-child(odd){transform:rotate(-2deg)!important}.world-card:nth-child(even){transform:rotate(2deg)!important}
.world-card .work-image{height:23svh;max-height:240px}
.world-card .work-image img{object-position:center 35%}
.world-card:nth-child(2) .work-image img{object-position:center}
.world-card .caption{padding:10px 3px 13px;gap:12px}.caption h3{font-size:16px}.caption span{font-size:11px;max-width:115px}
.worlds .floating-note{top:140px;font-size:25px!important;max-width:180px;right:3%}
.track-two{margin-top:8px}.track-two .world-card:before{background:var(--yellow)}
.world-card:hover{z-index:4;transform:rotate(0deg) translateY(-4px)!important}
.worlds .gallery-footer{padding-top:15px}
.process-sticky{isolation:isolate}.decision{z-index:2}.decision h2{font-size:8vw;max-width:75%}.generation-number{z-index:-1;opacity:.19}
.process-collage{position:absolute;right:3vw;top:30%;width:31vw;height:42vh;z-index:1;pointer-events:none}
.process-print{position:absolute;width:68%;height:100%;object-fit:cover;border:8px solid var(--cream);box-shadow:9px 12px 0 #0004}
.print-one{left:0;transform:translateY(calc(var(--collage-progress,0) * -40px)) rotate(calc(-13deg + var(--collage-progress,0) * 12deg))}
.print-two{right:0;transform:translateY(calc(50px - var(--collage-progress,0) * 80px)) rotate(calc(12deg - var(--collage-progress,0) * 15deg))}
.paper-note{position:absolute;right:0;bottom:-35px;background:var(--yellow);color:var(--ink);padding:12px 24px;font:700 28px/.95 Caveat,cursive;transform:rotate(-7deg)}
.process-bottom,.steps{position:relative;z-index:3}.process-bottom{margin-top:25px}
.attitude-photo{position:relative}.attitude-photo>img{position:absolute;inset:0;object-position:center}
.attitude h2{font-size:5.4vw;overflow-wrap:normal}.attitude h2 em{color:var(--blue)}.attitude-copy p{font-size:20px;line-height:1.4;max-width:440px}
footer h2{font-size:10vw;line-height:1.05}footer .note{font-size:30px!important}
@media(min-width:701px) and (max-width:1000px){.hero h1{font-size:14.5vw}.hero-paper{left:43%;top:39%;width:23vw;height:31vw}.worlds-sticky{padding-top:110px}.worlds h2{font-size:5vw}.caption{flex-direction:column;gap:4px!important}.caption span{max-width:none;text-align:left}.world-card .work-image{height:22svh}.manifesto h2{font-size:6.5vw}.agency-note p{font-size:17px}.attitude h2{font-size:5vw}.attitude-copy p{font-size:18px}.process-collage{top:38%;height:31vh}.decision h2{font-size:8.2vw}.paper-note{font-size:23px}}
@media(max-width:700px){
 .hero h1{font-size:min(22vw,11.5svh);width:100%;line-height:.97}.hero-copy{padding-top:52px}
 .hero-stamp{width:98px;height:98px;right:5%;top:111px;outline-width:4px}.hero-stamp span{font-size:11px}
 .hero-paper{left:52%;top:49%;width:37vw;height:44vw;padding:6px 6px 33px;max-height:230px;z-index:3}.hero-paper span{font-size:17px}.hero-paper:before{width:46px;height:16px}
 .hero-media{top:220px;bottom:126px}.media-tag{display:none}.hero-intro p{font-size:16px}.hero-intro{bottom:56px}.hero-foot{font-size:10px}
 .manifesto h2{font-size:10.5vw}.agency-note{display:block}.agency-note p{font-size:16px;max-width:100%;margin-bottom:15px}.agency-note .mini-label{display:block;margin-bottom:16px}.agency-note .note{font-size:27px!important;max-width:240px}.agency-note .asterisk{right:0;bottom:0}
 .manifesto{height:auto}.manifesto-sticky{position:relative;height:auto;padding:85px 20px 40px}.manifesto-bottom{font-size:10px}.manifesto .taste{color:var(--cream)!important;background:none!important}
 .worlds-sticky{padding-top:48px}.worlds h2{font-size:9vw}.world-track{padding:14px 20px 20px;gap:25px}.worlds .world-card{width:78vw}.world-card .work-image{height:83vw;max-height:none}.world-card:nth-child(odd){transform:rotate(-1deg)!important}.world-card:nth-child(even){transform:rotate(1deg)!important}.world-card .caption{padding:12px 3px 14px}.caption h3{font-size:17px}.caption span{font-size:11px}.worlds .gallery-footer{font-size:10px!important;line-height:1.4}
 .process-sticky{min-height:780px}.decision{margin-top:0}.decision h2{font-size:13vw;max-width:none}.process-collage{right:8%;top:42%;width:42vw;height:23vh}.process-print{border-width:5px}.paper-note{font-size:20px;bottom:-20px;padding:8px 12px}.generation-number{top:-35px}.process-bottom{margin-top:210px;font-size:14px}.steps{font-size:11px;line-height:1.4}
 .attitude-photo{aspect-ratio:.95}.attitude h2{font-size:11vw}.attitude-copy p{font-size:18px}.attitude-copy{padding-bottom:105px}
 footer h2{font-size:13vw}footer .note{font-size:24px!important;max-width:110px}.contact-link{font-size:12px}.motion-toggle{font-size:11px}
 .motion-off .world-card .work-image{height:83vw}.motion-off .process-sticky{min-height:780px}.motion-off .process-bottom{margin-top:230px}.motion-off .decision{margin-top:20px}
}
@media(min-width:701px) and (max-height:780px){.worlds h2{font-size:3.7vw}.world-card .work-image{height:20svh;min-height:125px}.world-track{padding-top:10px}.world-card .caption{padding:8px 3px}.gallery-footer{padding-top:9px!important}.process-collage{height:35vh}.manifesto h2{font-size:min(6vw,10svh)}}
@media(prefers-reduced-motion:reduce){.hero-paper,.process-print{transform:none}.world-card{transition:none}}
@media(min-width:701px){.hero h1{font-size:min(11.5vw,14svh)}.hero-intro{bottom:66px}}
@media(min-width:701px) and (max-width:1000px){.hero h1{font-size:min(14.5vw,14svh)}}
/* V4 — a moving ident, chromatic navigation, and the human craft wall. */
.site-header{border-bottom:0;background:var(--yellow)}
.site-header nav a{position:relative;overflow:hidden;border:0;transition:background .3s,color .3s,letter-spacing .3s;isolation:isolate}
.site-header nav a:nth-child(1){background:var(--pink);color:var(--blue)}
.site-header nav a:nth-child(2){background:var(--blue);color:var(--yellow)}
.site-header nav a:nth-child(3){background:var(--green);color:var(--cream)}
.site-header nav a:nth-child(4){background:var(--orange);color:var(--ink)}
.site-header nav a:after{content:'';position:absolute;bottom:9px;left:30%;width:40%;height:3px;background:currentColor;transform:scaleX(0) rotate(-4deg);transition:transform .3s}
.site-header nav a.active:after,.site-header nav a:hover:after{transform:scaleX(1) rotate(-4deg)}
.site-header nav a:nth-child(1):hover{background:var(--yellow);color:var(--red)}
.site-header nav a:nth-child(2):hover{background:var(--pink);color:var(--blue)}
.site-header nav a:nth-child(3):hover{background:var(--blue);color:var(--cream)}
.site-header nav a:nth-child(4):hover{background:var(--red);color:var(--cream)}
.site-header nav a:hover{letter-spacing:.035em}
.brand-intro[hidden]{display:none}
.brand-intro{position:fixed;inset:0;z-index:100;background:var(--yellow);display:grid;place-content:center;overflow:hidden;animation:intro-curtain 3.6s both}
.intro-stage{position:relative;width:min(68vw,600px);aspect-ratio:100/61}
.intro-logo{position:absolute;inset:0;overflow:hidden}
.intro-logo img{position:absolute;width:174%;max-width:none;left:-38%;top:-44.2623%}
.intro-off{position:absolute;inset:0;clip-path:inset(0 0 51% 0)}
.intro-type{position:absolute;left:0;right:0;top:47%;height:52%;display:flex;align-items:center;justify-content:space-between;animation:intro-type-out 3.6s both}
.intro-type span{display:grid;place-items:center;width:25%;height:100%;font:900 clamp(60px,14vw,133px)/1 Archivo,sans-serif;color:var(--blue);animation:menu-letters 2.1s steps(1,end) both;transform-origin:center}
.intro-type span:nth-child(2){animation-name:menu-letters-two}.intro-type span:nth-child(3){animation-direction:reverse}.intro-type span:nth-child(4){animation-name:menu-letters-two;animation-direction:reverse}
.intro-final{animation:intro-logo-in 3.6s both}
.intro-line{position:absolute;bottom:12%;left:0;right:0;text-align:center;font-size:13px;font-weight:800;letter-spacing:.1em}
.intro-skip{position:absolute;right:30px;bottom:26px;background:none;border:1px solid var(--ink);border-radius:40px;padding:12px 24px;font:700 14px Archivo,sans-serif;cursor:pointer}
@keyframes menu-letters{0%{font-family:Archivo,sans-serif;color:var(--blue);transform:rotate(-7deg)}20%{font-family:Georgia,serif;font-style:italic;color:var(--red);transform:rotate(5deg)}40%{font-family:Caveat,cursive;font-style:normal;color:var(--green);transform:rotate(-5deg)}60%{font-family:monospace;color:var(--blue);transform:rotate(8deg)}80%,100%{font-family:'Lilita One',sans-serif;color:var(--pink);transform:rotate(-3deg)}}
@keyframes menu-letters-two{0%{font-family:Georgia,serif;color:var(--green);transform:rotate(6deg)}20%{font-family:monospace;color:var(--blue);transform:rotate(-5deg)}40%{font-family:'Lilita One',sans-serif;color:var(--pink);transform:rotate(4deg)}60%{font-family:Caveat,cursive;color:var(--red);transform:rotate(-8deg)}80%,100%{font-family:Archivo,sans-serif;color:var(--blue);transform:rotate(2deg)}}
@keyframes intro-type-out{0%,58%{opacity:1}64%,100%{opacity:0}}
@keyframes intro-logo-in{0%,58%{opacity:0;transform:scale(.96)}66%,100%{opacity:1;transform:scale(1)}}
@keyframes intro-curtain{0%,85%{transform:translateY(0);visibility:visible}100%{transform:translateY(-102%);visibility:hidden}}
/* The counter owns its half of the canvas; no photographs sit over it. */
.process{--step-color:var(--yellow)}
.process-sticky{display:grid;grid-template-rows:auto 1fr auto auto;gap:30px;min-height:720px;padding:115px 4vw 40px}
.decision{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:3vw;margin:0}
.decision .generation-number{position:relative;inset:auto;z-index:1;font-size:clamp(120px,27vw,410px);letter-spacing:-.065em;line-height:.9;opacity:1;color:var(--yellow);text-align:center;transform-origin:center;font-variant-numeric:tabular-nums;transition:color .25s;text-shadow:5px 6px 0 var(--blue)}
.decision h2{font-size:clamp(38px,6.2vw,96px);max-width:none;line-height:1.06}
.decision h2>span{display:inline-block;margin-bottom:15px;font-size:14px}
.decision h2 em{color:var(--cream)}
.process-bottom{margin:0;align-items:center;font-size:16px}
.process-label,.steps span.active{color:var(--step-color);transition:color .25s}
.steps{font-size:12px;line-height:1.4;padding-top:20px}.steps span{opacity:.7}.steps span.active{opacity:1}
/* Analog art-direction wall. Reuses the photographs moved off the counter. */
.craft-board{height:160svh;background:var(--green);color:var(--cream);z-index:4}
.craft-sticky{position:sticky;top:0;height:100svh;min-height:850px;padding:110px 4vw 45px;display:flex;flex-direction:column;justify-content:space-between;gap:25px;overflow:hidden}
.craft-top{display:flex;justify-content:space-between;gap:20px;position:relative;z-index:3}.craft-mark{font:12px monospace;letter-spacing:.05em}
.craft-layout{display:grid;grid-template-columns:.9fr 1.2fr;gap:5vw;align-items:center;flex:1}
.craft-wall{position:relative;height:min(51vh,550px)}
.craft-wall .process-collage{inset:0;width:100%;height:100%;z-index:1}
.craft-wall .process-print{width:64%;height:88%;border:10px solid var(--cream);border-bottom-width:45px;box-shadow:10px 12px 0 #1113}
.craft-wall .print-one{left:0;top:0;transform:translate(calc(var(--collage-progress,0) * -20px),calc(var(--collage-progress,0) * -25px)) rotate(calc(-13deg + var(--collage-progress,0) * 8deg))}
.craft-wall .print-two{right:0;top:7%;transform:translate(calc(var(--collage-progress,0) * 25px),calc(var(--collage-progress,0) * 15px)) rotate(calc(9deg - var(--collage-progress,0) * 5deg))}
.craft-wall .paper-note{right:-8px;bottom:-10px;z-index:2;font-size:30px;padding:17px 24px;background:var(--yellow);transform:rotate(-7deg)}
.craft-wall .process-collage:before{content:'';position:absolute;left:34%;top:-15px;width:110px;height:35px;background:var(--pink);transform:rotate(-9deg);z-index:4;opacity:.9}
.craft-stamp{position:absolute;top:12%;left:-2%;z-index:5;background:var(--blue);color:var(--yellow);padding:18px;border:2px dashed var(--yellow);outline:6px solid var(--blue);font:900 19px/1 Archivo,sans-serif;transform:rotate(-14deg);border-radius:50%;width:112px;height:112px;display:grid;place-content:center;text-align:center}
.craft-margin{position:absolute;bottom:-48px;left:15px;font:12px monospace;letter-spacing:.06em}
.craft-copy{position:relative;z-index:3;padding-block:24px}.craft-copy h2{font-family:Archivo,sans-serif;font-weight:900;line-height:.97;letter-spacing:-.065em;font-size:clamp(34px,4.6vw,76px)}
.craft-yes{display:block;padding:15px 20px;background:var(--yellow);color:var(--red);transform:rotate(-3deg);width:max-content;max-width:100%;box-shadow:5px 6px 0 #1113;margin-bottom:18px}
.craft-directed{display:block;background:var(--pink);color:var(--blue);padding:24px 25px 30px;transform:rotate(2deg);box-shadow:8px 10px 0 #1113;clip-path:polygon(0 1%,10% 0,25% 1%,40% 0,60% 1%,80% 0,100% 1%,99% 95%,93% 100%,82% 96%,74% 100%,64% 97%,50% 100%,40% 97%,29% 100%,20% 97%,9% 100%,0 97%)}
.craft-hand{font:700 28px/1 Caveat,cursive;margin:23px 10px 0;transform:rotate(-3deg)}
.craft-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:16px;line-height:1.5;position:relative;z-index:4}
.craft-ticket{background:var(--cream);color:var(--ink);padding:12px 23px;transform:rotate(3deg);border-inline:3px dashed var(--green);font-weight:900;font-size:21px;line-height:1.1}.craft-ticket small{display:block;font:10px monospace;margin-top:8px}
.motion-off .craft-board{height:auto}.motion-off .craft-sticky{position:relative;height:auto;min-height:850px}.motion-off .process-sticky{min-height:720px}.motion-off .process-bottom{margin-top:0}.motion-off .decision{margin-top:0}
@media(min-width:701px) and (max-width:1000px){.decision h2{font-size:6vw}.craft-sticky{min-height:850px}.craft-layout{gap:5vw;grid-template-columns:.9fr 1.1fr}.craft-copy h2{font-size:4.5vw}.craft-wall{height:42vh}.craft-wall .process-print{border-width:6px;border-bottom-width:32px}.craft-wall .paper-note{font-size:24px}.craft-stamp{font-size:15px;width:90px;height:90px}.craft-hand{font-size:26px}.craft-mark{display:none}.craft-bottom{font-size:15px}.craft-ticket{font-size:18px}}
@media(max-width:700px){
 .site-header nav a{font-size:10px;line-height:1.2}.site-header nav a:after{height:2px;bottom:8px}
 .intro-stage{width:82vw}.intro-type span{font-size:18vw}.intro-line{font-size:11px;letter-spacing:.03em}.intro-skip{right:20px;bottom:22px}
 .process-sticky{padding:96px 20px 35px;min-height:740px;gap:24px;grid-template-rows:auto 1fr auto auto}
 .decision{display:flex;flex-direction:column;justify-content:center;gap:20px}.decision .generation-number{font-size:min(59vw,29svh);line-height:.85;text-shadow:3px 4px 0 var(--blue)}
 .decision h2{font-size:11.5vw;text-align:center;line-height:1.03}.decision h2>span{font-size:12px;margin-bottom:9px}
 .process-bottom{margin:0!important;font-size:14px;gap:20px;align-items:start}.process-label{max-width:40%}.steps{font-size:10px;gap:10px;padding-top:15px}
 .craft-board{height:auto}.craft-sticky{position:relative;height:auto;min-height:0;padding:75px 20px 90px;gap:40px;overflow:hidden}.craft-top .kicker{font-size:10px}.craft-mark{display:none}
 .craft-layout{display:flex;flex-direction:column;gap:60px}.craft-wall{width:85%;height:92vw;max-height:420px;margin:15px 0 0}.craft-wall .process-print{border-width:7px;border-bottom-width:32px}.craft-wall .paper-note{font-size:26px;bottom:-5px}.craft-stamp{width:90px;height:90px;font-size:15px}.craft-margin{font-size:10px;bottom:-38px;left:0}
 .craft-copy{width:100%;padding-block:0}.craft-copy h2{font-size:8.8vw;letter-spacing:-.05em}.craft-directed{padding:22px 18px 28px}.craft-yes{padding:14px 18px}.craft-hand{font-size:27px;margin-top:25px;max-width:300px}
 .craft-bottom{display:flex;flex-direction:column;align-items:start;gap:26px;font-size:16px}.craft-ticket{align-self:end;font-size:22px}.motion-off .craft-sticky{min-height:0}.motion-off .process-sticky{min-height:740px}
}
@media(prefers-reduced-motion:reduce){.brand-intro{display:none}.craft-board{height:auto}.craft-sticky{position:relative;height:auto}.craft-wall .process-print{transform:none}}

/* Compact screens: readable flow, touch navigation and uncropped content. */
@media (max-width:1200px){
 :root{--nav-height:76px}
 .site-header nav{min-width:0}
 .site-header nav a{font-size:12px;padding:10px 8px;text-align:center;min-width:0}
 .hero-journey,.manifesto,.worlds,.process,.craft-board{height:auto}
 .hero,.manifesto-sticky,.worlds-sticky,.process-sticky,.craft-sticky{position:relative;height:auto;min-height:0}
 .hero{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:112px 32px 36px;overflow:hidden}
 .hero .eyebrow{grid-column:1/-1;gap:20px}
 .hero-copy{padding:15px 0;align-self:center;transform:none!important;opacity:1!important}
 .hero h1{font-size:clamp(72px,11vw,120px);width:100%;line-height:.97}
 .hero-media{position:relative;inset:auto!important;min-height:450px;border-radius:38% 0 0 12%!important;grid-column:2;grid-row:2;transform:none!important}
 .hero-mirror{transform:none!important}
 .hero-stamp{top:140px;right:32px;width:100px;height:100px;font-size:30px}
 .hero-stamp span{font-size:12px}
 .hero-paper{left:42%;top:48%;width:20vw;height:27vw;max-height:270px;transform:rotate(-9deg);opacity:1}
 .hero-intro{position:relative;inset:auto;grid-column:1/-1;justify-content:space-between;opacity:1!important;gap:20px}
 .hero-intro p{font-size:18px;background:none;padding:0}
 .circle-link{flex:none}
 .hero-foot{position:relative;inset:auto;grid-column:1/-1;font-size:11px}
 .hero-foot span:last-child{color:var(--ink)}
 .media-tag{display:none}
 .manifesto-sticky,.motion-off .manifesto-sticky{padding:64px 32px;min-height:0;gap:32px;grid-template-columns:1.1fr 1fr}
 .manifesto h2{font-size:6.6vw}
 .manifesto .taste{background:none!important;color:var(--cream)!important}
 .agency-note .asterisk{position:static;font-size:70px;text-align:left;margin-top:28px}
 .agency-note p{font-size:17px}
 .worlds-sticky,.motion-off .worlds-sticky{padding:60px 0 40px;min-height:0}
 .worlds h2{font-size:6vw;padding:24px 32px 30px}
 .worlds .section-top,.worlds .gallery-footer{padding-inline:32px}
 .worlds .floating-note{display:none}
 .worlds .world-track,.motion-off .world-track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:auto;transform:none!important;gap:32px;padding:15px 32px 28px;overflow:visible}
 .worlds .world-card,.motion-off .world-card{width:100%;min-width:0}
 .worlds .world-card .work-image,.motion-off .world-card .work-image{height:auto;aspect-ratio:4/5;min-height:0;max-height:none}
 .worlds .caption{flex-direction:column;align-items:start;gap:6px}
 .worlds .caption span{max-width:none;text-align:left;font-size:11px}
 .possibilities{padding:60px 32px 80px;gap:32px;grid-template-columns:1fr}
 .service-intro{position:relative;top:auto}
 .service-intro h2{font-size:8vw;margin-block:24px}
 .service-intro p{max-width:560px}
 .service-orbit,.service-intro .note{display:none}
 .service-list summary{font-size:28px;gap:16px;min-height:44px}
 .service-list summary span,.service-list summary b{flex:none}
 .service-list details p{margin-left:32px}
 .process-sticky,.motion-off .process-sticky{padding:60px 32px;min-height:0;gap:36px}
 .decision{display:grid;grid-template-columns:1fr 1fr;gap:24px}
 .decision .generation-number{font-size:25vw}
 .decision h2{font-size:6vw}
 .process-bottom{gap:24px;margin:0!important}
 .steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;font-size:11px}
 .attitude{min-height:0;grid-template-columns:1fr 1fr;align-items:center}
 .attitude-photo{min-height:0;aspect-ratio:3/4;align-self:stretch;transform:none!important}
 .attitude-copy{padding:48px 24px 85px}
 .attitude h2{font-size:5.5vw}
 .craft-sticky,.motion-off .craft-sticky{min-height:0;padding:60px 32px 85px;gap:48px}
 .craft-layout{grid-template-columns:.9fr 1.1fr;gap:36px}
 .craft-wall{height:42vw;max-height:460px}
 .craft-copy h2{font-size:4.4vw}
 .craft-directed{padding:20px 14px 26px}
 .craft-bottom{align-items:start}
 footer{padding:55px 32px 85px}
 .footer-bottom{flex-wrap:wrap;gap:20px;padding-bottom:0}
 .motion-toggle{min-height:44px;bottom:max(10px,env(safe-area-inset-bottom));right:10px}
 .cursor-note{display:none!important}
}
@media(max-width:700px){
 :root{--nav-height:104px}
 .site-header{height:104px;align-items:stretch}
 .site-header .logo{width:86px;height:104px}
 .site-header nav{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:52px 52px}
 .site-header nav a{font-size:11px;padding:8px;line-height:1.2}
 .site-header nav a:after{bottom:6px}
 .hero{grid-template-columns:1fr;gap:20px;padding:128px 20px 28px}
 .hero .eyebrow{font-size:9px}
 .hero-copy{grid-column:1;grid-row:2;padding:6px 0;z-index:4}
 .hero h1{font-size:clamp(66px,20vw,112px);width:100%;line-height:.96}
 .hero-media{grid-column:1;grid-row:3;min-height:0;aspect-ratio:1.05;border-radius:28% 0 0 8%!important;margin-left:12%}
 .hero-mirror img{object-position:center 45%}
 .hero-stamp{width:78px;height:78px;top:160px;right:24px;font-size:25px;outline-width:3px}
 .hero-stamp span{font-size:9px}
 .hero-paper{width:32vw;height:41vw;top:auto;bottom:200px;left:18px;padding:6px 6px 30px;max-height:none}
 .hero-paper span{font-size:15px}
 .hero-intro p{font-size:15px;line-height:1.5;max-width:calc(100% - 60px)}
 .circle-link{width:44px;height:44px;font-size:26px}
 .hero-foot{font-size:9px}
 .manifesto-sticky,.motion-off .manifesto-sticky{grid-template-columns:1fr;padding:48px 20px;gap:28px}
 .manifesto h2{font-size:10.5vw}
 .agency-note{display:block;padding:0}
 .agency-note p{font-size:16px;max-width:none}
 .agency-note .asterisk{position:absolute;right:0;bottom:0;font-size:56px;margin:0}
 .agency-note .note{max-width:75%}
 .manifesto-bottom{font-size:9px;gap:18px;line-height:1.5}
 .worlds h2{font-size:8.4vw;padding:24px 20px}
 .worlds .section-top,.worlds .gallery-footer{padding-inline:20px}
 .worlds .world-track,.motion-off .world-track{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:20px;gap:22px;padding:14px 20px 26px;scrollbar-width:thin;scrollbar-color:var(--yellow) transparent}
 .worlds .world-card,.motion-off .world-card{width:calc(100vw - 64px);flex:none;scroll-snap-align:start}
 .worlds .caption h3{font-size:16px;line-height:1.25}
 .gallery-footer{gap:20px;line-height:1.5}
 .gallery-footer span:first-child{max-width:75%}
 .possibilities{padding:48px 20px 60px}
 .service-intro h2{font-size:11vw}
 .service-list details{padding:16px 10px}
 .service-list summary{font-size:clamp(20px,5.5vw,28px);gap:12px;letter-spacing:-.04em}
 .service-list details p{margin:14px 0 0;font-size:16px}
 .process-sticky,.motion-off .process-sticky{padding:48px 20px;gap:28px}
 .decision{display:flex;flex-direction:column;gap:24px}
 .decision .generation-number{font-size:59vw}
 .decision h2{font-size:11.5vw;text-align:center}
 .process-bottom{flex-direction:column;gap:12px;font-size:15px}
 .process-label{max-width:none}
 .steps{grid-template-columns:repeat(2,minmax(0,1fr));font-size:11px;gap:16px}
 .attitude{grid-template-columns:1fr}
 .attitude-photo{aspect-ratio:1;min-height:0}
 .attitude-copy{padding:40px 20px 90px}
 .attitude h2{font-size:11vw}
 .craft-sticky,.motion-off .craft-sticky{padding:48px 24px 90px;gap:40px}
 .craft-layout{display:flex;flex-direction:column;gap:60px}
 .craft-wall{width:85%;height:92vw;max-height:420px;margin-top:15px}
 .craft-copy{width:100%;padding:0}
 .craft-copy h2{font-size:8.1vw}
 .craft-yes{padding:14px 16px}
 .craft-hand{font-size:25px}
 .craft-bottom{flex-direction:column;font-size:16px;gap:26px}
 .craft-ticket{align-self:end;font-size:20px}
 footer{padding:45px 20px 90px}
 .footer-top{align-items:start;gap:20px;flex-direction:column}
 footer .note{max-width:none;font-size:27px!important}
 footer h2{font-size:12.5vw;margin-block:32px}
 .footer-scribble{font-size:140px;bottom:150px;right:-20px;opacity:.35}
 .contact-link{width:100%;min-height:54px;padding:16px;font-size:11px;gap:12px}
 .footer-bottom{font-size:11px;margin-top:36px;gap:18px;flex-direction:column;align-items:start}
 .footer-bottom a{display:inline-flex;min-height:44px;align-items:center}
 .intro-line{padding-inline:20px;line-height:1.5}
}

@media(max-width:1200px){.process-label{color:var(--cream)}.steps span.active{color:var(--yellow);text-decoration:underline;text-underline-offset:5px}.process-label{border-left:4px solid var(--step-color);padding-left:12px}.service-list summary b{margin-right:6px}}

/* Touch layouts retain native scrolling, with motion tied to visible content. */
@media(max-width:1200px){
 body:not(.motion-off) .hero-copy{transform:translate3d(calc(var(--compact-hero,0) * -14px),calc(var(--compact-hero,0) * -20px),0) rotate(calc(var(--compact-hero,0) * -2deg))!important}
 body:not(.motion-off) .hero-mirror{transform:scale(calc(1.02 + var(--compact-hero,0) * .12))!important}
 body:not(.motion-off) .hero-paper{transform:translateY(calc(var(--compact-hero,0) * -38px)) rotate(calc(-9deg + var(--compact-hero,0) * 15deg))}
 body:not(.motion-off) .hero-stamp{transform:rotate(calc(12deg + var(--compact-hero,0) * 95deg))!important}
 body:not(.motion-off) .manifesto .taste{color:transparent!important;background-image:linear-gradient(90deg,var(--cream) calc(var(--compact-manifesto,0) * 160%),#f5eedc80 0)!important;background-clip:text!important;-webkit-background-clip:text!important}
 body:not(.motion-off) .world-card .work-image img{transform:translateY(calc((var(--card-progress,.5) - .5) * -18px)) scale(1.08)}
 body:not(.motion-off) .world-card .caption{transform:translateY(calc((1 - var(--card-progress,1)) * 5px))}
 body:not(.motion-off) .attitude-photo>img{transform:scale(calc(1.02 + var(--compact-portrait,0) * .08))}
 body:not(.motion-off) .craft-yes{transform:translateX(calc((1 - var(--compact-craft,1)) * -12px)) rotate(calc(-5deg + var(--compact-craft,0) * 5deg))}
 body:not(.motion-off) .craft-directed{transform:rotate(calc(4deg - var(--compact-craft,0) * 5deg))}
 body:not(.motion-off) .craft-stamp{transform:rotate(calc(-20deg + var(--compact-craft,0) * 30deg))}
 .world-card .work-image img,.attitude-photo>img{transform-origin:center}
}

/* Keep the count and its five stages in view when there is enough vertical room. */
@media(max-width:1200px) and (min-height:800px){
 body:not(.motion-off) .process{height:170svh}
 body:not(.motion-off) .process-sticky{position:sticky;top:var(--nav-height);height:calc(100svh - var(--nav-height));padding-block:28px;gap:20px}
}
@media(max-width:700px) and (min-height:800px){
 body:not(.motion-off) .decision{gap:16px}
 body:not(.motion-off) .decision .generation-number{font-size:min(52vw,23svh)}
 body:not(.motion-off) .decision h2{font-size:min(11.5vw,6svh)}
}
