:root{--ink:#111111;--cream:#f2efdf;--blue:#171bd0;--coral:#ff4f2e;--lime:#c6f100;--white:#fff;--sans:'DM Sans',sans-serif;--display:'Syne',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);overflow-x:hidden}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.wrap{width:min(1220px,calc(100% - 64px));margin:auto}.skip{position:fixed;left:16px;top:-60px;background:var(--lime);padding:12px;z-index:100}.skip:focus{top:16px}.site-header{height:84px;padding:0 34px;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:10;width:100%;color:#fff;border-bottom:1px solid #ffffff3d}.logo{font:800 27px var(--display);letter-spacing:-2px}.logo>span:first-child{color:var(--lime)}.logo .dot{color:var(--coral)}nav{display:flex;gap:32px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}nav a,.header-cta{transition:color .2s}.header-cta{font-size:13px;font-weight:700;text-transform:uppercase;border-bottom:1px solid}.header-cta span,.text-link span{color:var(--lime)}.menu-toggle{display:none;background:none;border:0;color:#fff}.hero{min-height:760px;height:100vh;position:relative;color:white;display:flex;align-items:center;overflow:hidden}.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,10,28,.9) 0%,rgba(5,10,28,.48) 47%,rgba(5,10,28,.05) 78%),linear-gradient(0deg,rgba(0,0,0,.4),transparent 45%)}.hero-copy{position:relative;margin-left:max(7vw,40px);padding-top:50px;max-width:720px}.eyebrow,.section-no{font-size:12px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:10px}.eyebrow span{display:inline-block;width:30px;height:3px;background:var(--coral)}h1,h2,h3{font-family:var(--display);margin:0;line-height:.92;letter-spacing:-.05em}h1{font-size:clamp(68px,9.5vw,148px);text-transform:uppercase}h1 em{font-family:Georgia,serif;font-weight:400;text-transform:none;color:var(--lime);font-size:.86em}.lead{font-size:18px;line-height:1.55;max-width:500px;margin:28px 0}.hero-actions{display:flex;align-items:center;gap:36px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:48px;background:var(--coral);color:#fff;padding:19px 22px;text-transform:uppercase;font-weight:700;font-size:12px;letter-spacing:.08em;border:0}.btn span{font-size:20px}.text-link{font-weight:700;text-transform:uppercase;font-size:12px;letter-spacing:.08em;border-bottom:1px solid;padding-bottom:7px}.sticker{position:absolute;right:5vw;bottom:9%;background:var(--lime);color:var(--ink);width:150px;height:150px;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:8px;transform:rotate(8deg);box-shadow:8px 8px 0 var(--blue)}.sticker b{font:800 50px var(--display)}.sticker span{font-size:10px;font-weight:700;text-transform:uppercase;line-height:1.3}.scroll-note{position:absolute;right:34px;bottom:28px;font-size:10px;letter-spacing:.15em;writing-mode:vertical-rl}.scroll-note span{color:var(--lime)}.marquee{overflow:hidden;background:var(--blue);color:#fff;padding:18px 0;transform:rotate(-1deg) scale(1.02)}.marquee div,.contact-marquee{font:700 22px var(--display);white-space:nowrap;word-spacing:22px;animation:move 20s linear infinite}.marquee i,.contact-marquee i{color:var(--lime)}@keyframes move{to{transform:translateX(-30%)}}.intro{padding:140px 0 80px;display:grid;grid-template-columns:170px 1fr 310px;gap:40px;align-items:end}.section-no{align-self:start;margin:9px 0}.intro h2,.workshops h2,.about h2,.journal h2,.contact h2{font-size:clamp(50px,6vw,92px)}h2 span{color:var(--blue);font-family:Georgia,serif;font-style:italic;font-weight:400}.intro-copy{line-height:1.7;margin:0}.portfolio-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:24px;padding-bottom:140px}.project{height:600px;position:relative;overflow:hidden;background:var(--blue);color:#fff}.project-wide{height:760px;grid-row:span 2}.project img{height:100%;object-fit:cover;transition:transform .7s}.project:hover img{transform:scale(1.03)}.project:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.8))}.project-info{position:absolute;z-index:2;bottom:34px;left:34px;right:34px}.project-info p,.post>p{font-size:10px;font-weight:700;letter-spacing:.14em}.project-info h3{font-size:34px;line-height:1.05}.project-info a{position:absolute;right:0;bottom:0;width:46px;height:46px;background:var(--lime);color:var(--ink);display:grid;place-items:center;font-size:22px}.project-color{background:var(--coral);height:376px}.big-word{font:800 260px var(--display);color:var(--lime);line-height:1}.workshops{background:var(--blue);color:#fff;padding:120px 0;position:relative}.workshops:before{content:"";position:absolute;right:-60px;top:-70px;width:180px;height:180px;background:var(--lime);border-radius:50%}.workshop-head{display:grid;grid-template-columns:220px 1fr;margin-bottom:65px}.light{color:#fff}.kicker{font-size:12px;font-weight:700;color:var(--lime);letter-spacing:.15em}.workshop-list{border-top:1px solid #ffffff55}.workshop-row{display:grid;grid-template-columns:210px 1fr 160px;gap:35px;padding:38px 0;border-bottom:1px solid #ffffff55;align-items:center}.date{display:flex;gap:16px;align-items:center}.date b{font:700 58px var(--display);color:var(--lime)}.date span{font-size:10px;font-weight:700;line-height:1.5}.tag{font-size:9px;color:var(--ink);background:var(--lime);padding:5px 8px;font-weight:700}.tag.coral{background:var(--coral);color:#fff}.workshop-row h3{font-size:31px;margin:12px 0}.workshop-row p{margin:0;color:#c6c6dd;font-size:13px}.price{text-align:right;font-weight:700}.price a{display:block;color:var(--lime);font-size:11px;margin-top:15px}.workshop-note{text-align:right;margin-top:38px;font-style:italic}.workshop-note a{color:var(--lime);font-style:normal;font-weight:700}.about{padding:150px 0;display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:center}.about-visual{position:relative}.about-visual img{height:650px;object-fit:cover;object-position:67% center;filter:saturate(.9)}.about-visual:before{content:"";position:absolute;inset:24px -24px -24px 24px;background:var(--coral);z-index:-1}.scribble{position:absolute;right:-50px;top:30px;background:var(--lime);padding:22px 28px;font:italic 20px Georgia;transform:rotate(6deg)}.about h2{margin:25px 0 35px}.big-copy{font-size:23px;line-height:1.45}.about-copy>p:not(.section-no){line-height:1.7}.stats{display:flex;gap:35px;border-top:1px solid #aaa;border-bottom:1px solid #aaa;padding:25px 0;margin:35px 0}.stats div{display:flex;gap:8px}.stats b{font:700 33px var(--display);color:var(--blue)}.stats span{font-size:9px;text-transform:uppercase;line-height:1.3}.dark span{color:var(--blue)}.quote{background:var(--coral);text-align:center;padding:105px 20px;position:relative;overflow:hidden}.quote:after{content:"“";position:absolute;font:600 350px Georgia;color:#ffffff21;right:4%;top:-100px}.quote blockquote{font:700 clamp(35px,4.5vw,65px) var(--display);line-height:1.05;margin:0}.quote em{font-family:Georgia,serif;color:#fff;font-weight:400}.quote p{font-size:11px;font-weight:700;letter-spacing:.12em;margin-top:30px}.journal{padding:140px 0}.journal-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:60px}.journal h2{margin-top:20px}.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.post-img{height:400px;position:relative;overflow:hidden}.post-img img{height:100%;object-fit:cover;transition:.5s}.post:hover img{transform:scale(1.03)}.crop-one img{object-position:27% center}.post-img span{position:absolute;top:15px;right:15px;background:var(--lime);padding:7px;font-size:9px;font-weight:700}.post h3{font-size:25px;line-height:1.1;margin:15px 0}.post>a{font-size:11px;font-weight:700;color:var(--blue)}.contact{background:var(--ink);color:#fff;padding:0 0 120px;overflow:hidden}.contact-marquee{font-size:80px;border-bottom:1px solid #444;padding:25px 0;color:var(--coral)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-top:100px}.contact h2{margin:28px 0}.contact h2 em{color:var(--lime);font-family:Georgia,serif;font-weight:400}.contact-copy>p:not(.section-no){max-width:420px;line-height:1.7;color:#bbb}.contact-copy>a{display:block;font:600 18px var(--display);margin-top:14px}.contact-form label{display:block;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:28px}.contact-form input:not([type=checkbox]),.contact-form textarea{width:100%;background:transparent;border:0;border-bottom:1px solid #777;color:#fff;padding:12px 0;outline:none;font-size:20px;text-transform:none;letter-spacing:0}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--lime)}.check{display:flex!important;align-items:center;gap:10px;color:#aaa}.check input{accent-color:var(--lime)}.submit{width:100%;background:var(--lime);color:var(--ink);cursor:pointer}.hp{position:absolute;left:-9999px}.form-message{padding:15px;margin-bottom:25px}.success{background:#254c20}.error{background:#7e2318}footer{background:var(--ink);color:#fff;border-top:1px solid #444;padding:60px 0 30px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 2fr;gap:40px}.footer-logo{font-size:45px}.footer-grid div{display:flex;flex-direction:column;gap:8px;font-size:13px}.footer-grid p{font-size:9px;color:#777;font-weight:700;letter-spacing:.14em}.newsletter{display:flex;border-bottom:1px solid #777}.newsletter input{background:none;border:0;color:#fff;padding:10px 0;flex:1;outline:none}.newsletter button{background:none;border:0;color:var(--lime);font-size:20px}.footer-bottom{border-top:1px solid #333;margin-top:60px;padding-top:25px;display:flex;justify-content:space-between;font-size:9px;color:#777}.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.wrap{width:min(100% - 36px,700px)}.site-header{height:70px;padding:0 18px}.menu-toggle{display:block;margin-left:auto;margin-right:20px}.site-header nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--ink);padding:25px;flex-direction:column}.site-header nav.open{display:flex}.header-cta{display:none}.hero{min-height:700px}.hero-copy{margin:40px 22px 0}.hero-shade{background:linear-gradient(90deg,rgba(5,10,28,.85),rgba(5,10,28,.25))}.hero-img{object-position:60% center}h1{font-size:clamp(57px,16vw,90px)}.lead{max-width:360px}.sticker{width:105px;height:105px;right:20px;bottom:5%}.sticker b{font-size:35px}.scroll-note{display:none}.intro{grid-template-columns:1fr;padding:100px 0 55px}.intro h2{font-size:50px}.portfolio-grid{grid-template-columns:1fr}.project,.project-wide{height:600px}.project-color{height:340px}.workshops{padding:90px 0}.workshops:before{width:100px;height:100px}.workshop-head{grid-template-columns:1fr;gap:30px}.workshop-row{grid-template-columns:1fr}.price{text-align:left}.about{grid-template-columns:1fr;gap:80px;padding:100px 0}.about-visual img{height:520px}.scribble{right:-5px}.posts{grid-template-columns:1fr}.journal{padding:100px 0}.post-img{height:520px}.contact-marquee{font-size:50px}.contact-grid{grid-template-columns:1fr;gap:60px;padding-top:75px}.footer-grid{grid-template-columns:1fr 1fr}.footer-logo{grid-column:1/-1}}
@media(max-width:520px){h1{font-size:13.4vw}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.lead{font-size:16px}.portfolio-grid{width:100%;gap:4px}.project,.project-wide{height:530px}.project-info{left:20px;right:20px;bottom:22px}.big-word{font-size:190px}.workshop-row h3{font-size:27px}.date b{font-size:48px}.about-visual img{height:440px}.stats{gap:12px;justify-content:space-between}.stats div{flex-direction:column}.stats b{font-size:27px}.journal-head{align-items:start;gap:30px;flex-direction:column}.post-img{height:430px}.contact h2{font-size:48px}.footer-grid{grid-template-columns:1fr}.footer-logo{grid-column:auto}.footer-bottom{gap:12px;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee div,.contact-marquee{animation:none}.reveal{opacity:1;transform:none;transition:none}}
@media(max-width:520px){h1{font-size:11.5vw}}
.hero-img{object-position:center 42%}.about-visual img{object-position:center}.crop-one img{object-position:center}
@media(max-width:900px){.hero-img{object-position:58% center}}
.marquee{display:flex}.marquee .marquee-track{display:flex;width:max-content;min-width:max-content;animation:marquee-loop 18s linear infinite;word-spacing:0}.marquee .marquee-track span{display:block;flex:none;white-space:nowrap;padding-right:44px;font:700 22px var(--display);word-spacing:22px}.marquee .marquee-track i{color:var(--lime)}
@keyframes marquee-loop{to{transform:translateX(-33.333%)}}
@media(prefers-reduced-motion:reduce){.marquee .marquee-track{animation:none}}
.project-tall{height:690px}.project-wide-shot{grid-column:1/-1;height:560px}.project-wide-shot img{object-position:center 45%}
@media(max-width:900px){.project-wide-shot{grid-column:auto;height:520px}.project-tall{height:600px}}
.contact-marquee{display:flex;word-spacing:0;padding-left:0;padding-right:0}.contact-track{display:flex;width:max-content;min-width:max-content;animation:contact-loop 20s linear infinite}.contact-track span{display:block;flex:none;white-space:nowrap;padding-right:55px;word-spacing:22px}.contact-track i{color:var(--lime)}
@keyframes contact-loop{to{transform:translateX(-33.333%)}}
@media(prefers-reduced-motion:reduce){.contact-track{animation:none}}
.contact-marquee{background:var(--blue);color:var(--white);border-color:#ffffff38}.contact-marquee i{color:var(--lime)}
.contact{position:relative;border-top:14px solid var(--blue);padding-top:25px}.contact:before{content:"";position:absolute;width:260px;height:260px;border:2px solid var(--lime);border-radius:50%;right:-90px;top:65px;opacity:.75}.contact:after{content:"";position:absolute;width:70px;height:70px;background:var(--coral);right:155px;top:120px;transform:rotate(18deg)}.contact-grid{position:relative;z-index:1;padding-top:115px}
@media(max-width:900px){.contact:before{width:150px;height:150px;right:-65px;top:45px}.contact:after{width:42px;height:42px;right:70px;top:80px}.contact-grid{padding-top:95px}}
.hero-img{transform:translate3d(var(--hero-x,0),var(--hero-y,0),0) scale(1.025);transition:transform .25s ease-out}.sticker{--sticker-x:0px;--sticker-y:0px;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}.sticker:hover{transform:translate3d(var(--sticker-x),var(--sticker-y),0) rotate(-7deg) scale(1.1);box-shadow:13px 13px 0 var(--blue)}.sticker:hover b{animation:sticker-number .6s ease both}@keyframes sticker-number{50%{transform:scale(1.25) rotate(5deg)}}.sticker b{display:inline-block}.btn{transform:translate3d(var(--mx,0),var(--my,0),0);transition:transform .25s ease-out,background .25s,color .25s,box-shadow .25s}.btn:hover{box-shadow:7px 7px 0 var(--blue)}.submit:hover{background:var(--white);box-shadow:7px 7px 0 var(--coral)}.btn span,.header-cta span,.text-link span{display:inline-block;transition:transform .25s}.btn:hover span,.header-cta:hover span,.text-link:hover span{transform:translate(4px,-4px)}nav a{position:relative}nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--lime);transition:right .25s}nav a:hover:after{right:0}.project-info a{transition:transform .3s,background .3s}.project:hover .project-info a{transform:rotate(45deg);background:var(--coral);color:#fff}.project:hover .project-info h3{transform:translateY(-5px)}.project-info h3{transition:transform .35s}.stats>div{padding:8px;transition:transform .3s,background .3s}.stats>div:hover{transform:translateY(-7px) rotate(-1deg);background:#fff}.post{transition:transform .35s}.post:hover{transform:translateY(-10px)}.contact:after{right:46px;top:160px;transform:translate3d(var(--orbit-x,112px),var(--orbit-y,0),0) rotate(var(--orbit-r,0deg));transition:transform .08s linear;will-change:transform}.footer-grid a:not(.logo){width:max-content;background:linear-gradient(var(--lime),var(--lime)) left bottom/0 1px no-repeat;transition:background-size .25s,color .25s}.footer-grid a:not(.logo):hover{background-size:100% 1px;color:var(--lime)}
@media(prefers-reduced-motion:reduce){.hero-img,.sticker,.btn,.contact:after{transform:none!important;transition:none!important}.sticker:hover b{animation:none}.post:hover,.stats>div:hover{transform:none}}
