:root{--paper:#f2efe8;--ink:#111;--red:#d71968;--blue:#2457ff;--yellow:#f4ef38;--green:#20c275}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;cursor:none;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%}
.header{height:74px;padding:0 2.5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--ink);position:sticky;top:0;background:rgba(242,239,232,.94);backdrop-filter:blur(12px);z-index:20}.logo{font:800 23px Unbounded}.logo span{color:var(--red)}.nav{display:flex;gap:34px;font-weight:700}.nav a,.status,.text-link{position:relative}.nav a:after,.status:after,.text-link:after{content:"";position:absolute;height:2px;left:0;right:100%;bottom:-4px;background:currentColor;transition:.25s}.nav a:hover:after,.status:hover:after,.text-link:hover:after{right:0}.status{display:flex;gap:9px;align-items:center;font-size:14px;font-weight:700}.status i{width:10px;height:10px;background:var(--green);border-radius:50%;animation:pulse 1.8s infinite}
.hero{min-height:calc(100vh - 74px);padding:4vw 2.5vw 2.5vw;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}.hero-kicker,.eyebrow{text-transform:uppercase;font-weight:800;font-size:13px;letter-spacing:0}.hero h1{font:800 clamp(68px,9vw,138px)/.91 Unbounded;width:68%;margin:3vw 0 2vw;letter-spacing:-.055em;position:relative;z-index:2;pointer-events:none}.hero h1 em{font-style:normal;color:var(--red)}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;position:relative;z-index:3}.hero-bottom p{font-size:clamp(20px,2vw,31px);line-height:1.15;max-width:570px;margin:0}.round-link{width:78px;height:78px;display:grid;place-items:center;border:2px solid var(--ink);border-radius:50%;font-size:36px;transition:.25s}.round-link:hover{background:var(--ink);color:var(--paper);transform:rotate(-20deg)}.hero-portrait{position:absolute;width:min(29vw,430px);right:4%;top:10%;margin:0;transform:rotate(2deg);border:2px solid var(--ink);background:var(--red);box-shadow:10px 10px 0 var(--ink);z-index:1}.hero-portrait img{aspect-ratio:2/3;object-fit:cover;object-position:center}.hero-portrait figcaption,.about-portrait figcaption{position:absolute;font:800 13px/1.05 Unbounded;text-transform:uppercase;background:var(--red);color:white;padding:12px;border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink)}.hero-portrait figcaption{right:-18px;bottom:-20px;transform:rotate(-5deg)}.sticker{position:absolute;font:800 15px/1.1 Unbounded;text-transform:uppercase;text-align:center;padding:18px;box-shadow:5px 5px 0 var(--ink);z-index:4}.sticker-one{background:var(--yellow);left:-55px;top:16%;transform:rotate(-7deg)}
.ticker{overflow:hidden;background:var(--ink);color:var(--paper);padding:15px 0;font:700 22px Unbounded;white-space:nowrap}.ticker div{width:max-content;animation:marquee 22s linear infinite}
.work{padding:9vw 2.5vw}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:5vw}.section-heading h2{font:800 clamp(55px,8vw,120px)/.9 Unbounded;letter-spacing:-.05em;margin:0}.section-heading p{max-width:390px;font-size:18px;line-height:1.4;margin:0 0 7px}.project{margin-bottom:5vw}.project-image{position:relative;overflow:hidden;border:2px solid var(--ink)}.project-featured .project-image{aspect-ratio:16/8}.project-image img{height:100%;object-fit:cover;transition:transform .6s}.project:hover img{transform:scale(1.025)}.project-number{position:absolute;right:14px;top:12px;background:var(--paper);border:2px solid var(--ink);width:45px;height:45px;display:grid;place-items:center;font-weight:800}.project-info{display:grid;grid-template-columns:1fr 1fr auto;gap:20px;align-items:center;padding:18px 0;border-bottom:2px solid var(--ink)}.project-info h3,.project-info p{margin:0}.project-info h3{font:700 clamp(20px,2.3vw,34px) Unbounded}.project-info p{font-size:15px}.project-info span{font-weight:800}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5vw}.project-grid .project-info{display:block}.project-grid .project-info p{margin-top:9px}.graphic{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center}.graphic-red{background:var(--red)}.graphic-red strong{font:800 clamp(50px,8vw,120px)/.78 Unbounded;color:var(--paper);transform:rotate(-8deg)}.graphic-blue{background:var(--blue)}.graphic-blue strong{font:800 15vw Unbounded;color:var(--yellow);z-index:1}.shape{position:absolute;width:35%;aspect-ratio:1;border-radius:50%;background:var(--red);transform:translate(55%,-30%)}
.project-featured .project-image,.project-grid .project-image{background:#fff}.project-featured .project-image img,.project-grid .project-image img{object-fit:contain}.project-grid .project-image{aspect-ratio:4/3}
.portfolio-slider{border:2px solid var(--ink);background:white}.slider-stage{height:min(72vh,720px);position:relative;overflow:hidden;background:#fff}.slide{position:absolute;inset:0;opacity:0;transform:translateX(5%);transition:opacity .45s,transform .45s;pointer-events:none;display:grid;place-items:center;padding:20px}.slide.active{opacity:1;transform:none;pointer-events:auto}.slide img{width:100%;height:100%;object-fit:contain}.slider-bar{display:grid;grid-template-columns:1fr auto auto;align-items:center;border-top:2px solid var(--ink);background:var(--paper)}.slider-caption{padding:18px}.slider-caption h3,.slider-caption p{margin:0}.slider-caption h3{font:700 clamp(20px,2.3vw,34px) Unbounded}.slider-caption p{margin-top:7px}.slider-counter{padding:18px 25px;border-left:2px solid var(--ink);font:700 18px Unbounded}.slider-counter strong{font-size:30px;color:var(--red)}.slider-controls{display:flex;align-self:stretch;border-left:2px solid var(--ink)}.slider-controls button{width:76px;border:0;border-left:2px solid var(--ink);background:var(--yellow);font-size:32px;cursor:pointer}.slider-controls button:first-child{border-left:0}.slider-controls button:hover{background:var(--ink);color:white}.slider-dots{display:flex;gap:8px;padding:12px 18px;border-top:2px solid var(--ink);background:var(--paper)}.slider-dot{width:100%;height:8px;padding:0;border:0;background:#b9b6af;cursor:pointer}.slider-dot.active{background:var(--red)}
.about{display:grid;grid-template-columns:minmax(280px,1fr) 2fr;gap:5vw;background:var(--yellow);padding:8vw 2.5vw;border-block:2px solid var(--ink);align-items:start}.about-portrait{position:relative;margin:0;border:2px solid var(--ink);box-shadow:10px 10px 0 var(--ink);transform:rotate(-2deg)}.about-portrait img{aspect-ratio:2/3;object-fit:cover}.about-portrait figcaption{right:-24px;bottom:8%;background:var(--blue);transform:rotate(7deg)}.about h2{font:800 clamp(35px,5.4vw,82px)/1 Unbounded;letter-spacing:-.04em;margin:18px 0 4vw}.about-copy{max-width:820px;font-size:clamp(16px,1.35vw,21px);line-height:1.55}.about-copy p{margin:0 0 1.25em}.about-copy p:last-child{margin-bottom:0}.about-copy .about-lead{font:700 clamp(20px,2vw,30px)/1.3 Unbounded;margin-bottom:1.35em}.text-link{display:inline-block;margin-top:25px;font-weight:800;font-size:20px}
.experience{display:grid;grid-template-columns:1fr 2fr;gap:5vw;padding:8vw 2.5vw;background:var(--red);color:white;border-bottom:2px solid var(--ink)}.experience-intro strong{display:block;font:800 clamp(160px,25vw,360px)/.78 Unbounded;color:var(--yellow);letter-spacing:-.08em}.experience-intro span{font-size:19px;font-weight:800}.experience-list{border-top:2px solid white}.experience-list article{display:grid;grid-template-columns:130px 1fr 1.2fr;gap:25px;padding:28px 0;border-bottom:2px solid white}.experience-list time{font-weight:800}.experience-list h3,.experience-list p{margin:0}.experience-list h3{font:700 clamp(19px,2vw,29px)/1.1 Unbounded}.experience-list p{font-size:16px;line-height:1.45}
.services{padding:8vw 2.5vw}.services ul{list-style:none;margin:3vw 0 0;padding:0;border-top:2px solid var(--ink)}.services li{font:700 clamp(27px,5vw,75px) Unbounded;padding:23px 0;border-bottom:2px solid var(--ink);transition:.25s}.services li:hover{padding-left:3vw;color:var(--red)}.services li span{font:800 13px Manrope;display:inline-block;width:9vw;vertical-align:middle}
.contact{background:var(--blue);color:white;padding:7vw 2.5vw 2.5vw;min-height:80vh;display:flex;flex-direction:column;justify-content:space-between}.contact>p{font-size:20px;font-weight:800;margin:0}.contact h2{font:800 clamp(70px,13vw,190px)/.9 Unbounded;letter-spacing:-.06em;margin:4vw 0}.contact h2 a:hover{color:var(--yellow)}.contact-foot{display:flex;justify-content:space-between;padding-top:20px;border-top:2px solid white;font-weight:700}
.cursor{width:18px;height:18px;background:var(--red);border-radius:50%;position:fixed;pointer-events:none;z-index:100;transform:translate(-50%,-50%);mix-blend-mode:difference;transition:width .15s,height .15s}.cursor.big{width:48px;height:48px}
.reveal{opacity:0;transform:translateY(35px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}
@keyframes marquee{to{transform:translateX(-50%)}}@keyframes pulse{50%{box-shadow:0 0 0 6px rgba(32,194,117,.25)}}
@media(max-width:760px){
  .cursor{display:none}body{cursor:auto}
  .header{height:62px;padding:0 16px}.logo{font-size:20px}.nav{display:none}.status{font-size:0;gap:0}.status i{width:10px;height:10px}
  .hero{min-height:0;padding:32px 16px 18px;justify-content:flex-start;overflow:hidden}
  .hero-kicker{font-size:11px;position:relative;z-index:5}
  .hero h1{width:100%;font-size:15vw;line-height:.94;letter-spacing:-.05em;margin:28px 0 24px;z-index:3}
  .hero-portrait{position:relative;width:72%;right:auto;top:auto;align-self:flex-end;margin:0 8px 44px 0;box-shadow:6px 6px 0 var(--ink);transform:rotate(2deg)}
  .hero-portrait figcaption{font-size:8px;right:-7px;bottom:-24px;padding:8px;box-shadow:3px 3px 0 var(--ink)}
  .hero-bottom{margin-top:0;align-items:end}.hero-bottom p{font-size:16px;line-height:1.25;max-width:72%}
  .round-link{width:54px;height:54px;font-size:28px;flex:none}.sticker-one{left:-34px;top:12%;font-size:8px;padding:10px;box-shadow:3px 3px 0 var(--ink)}
  .ticker{padding:12px 0;font-size:16px}
  .work,.services{padding:62px 16px}
  .section-heading{display:block;margin-bottom:32px}.section-heading h2{font-size:12vw;line-height:.95;letter-spacing:-.04em}.section-heading p{font-size:16px;margin-top:20px}
  .portfolio-slider{border-width:1.5px}.slider-stage{height:auto;aspect-ratio:1/1;background:#fff}.slide{padding:6px}.slider-bar{grid-template-columns:minmax(0,1fr) auto}.slider-caption{padding:12px;min-width:0}.slider-caption h3{font-size:16px;line-height:1.15}.slider-caption p{font-size:11px;line-height:1.25}.slider-counter{display:none}.slider-controls button{width:46px;font-size:24px}.slider-dots{gap:4px;padding:8px}.slider-dot{height:6px}
  .about{grid-template-columns:1fr;padding:62px 16px;gap:28px}.about-portrait{width:76%;margin:0 auto 18px;box-shadow:7px 7px 0 var(--ink)}.about-portrait figcaption{right:-12px;font-size:9px}.about h2{font-size:9vw;line-height:1.05;margin:15px 0 28px}.about-copy{font-size:16px;line-height:1.5}.about-copy .about-lead{font-size:20px;line-height:1.3}
  .experience{grid-template-columns:1fr;padding:62px 16px;gap:0}.experience-intro{margin-bottom:38px}.experience-intro strong{font-size:52vw}.experience-intro span{font-size:16px}.experience-list article{grid-template-columns:1fr;gap:8px;padding:22px 0}.experience-list h3{font-size:20px}.experience-list p{font-size:15px}
  .services ul{margin-top:24px}.services li{display:grid;grid-template-columns:38px minmax(0,1fr);gap:4px;align-items:start;font-size:7vw;line-height:1.08;padding:18px 0}.services li:hover{padding-left:0}.services li span{width:auto;padding-top:3px}
  .contact{padding:62px 16px 20px;min-height:560px}.contact>p{font-size:17px}.contact h2{font-size:16vw;line-height:.95;margin:40px 0}.contact-foot{display:grid;grid-template-columns:1fr;gap:10px;font-size:12px}.contact-foot a{overflow-wrap:anywhere}
}
@media(max-width:380px){
  .hero h1{font-size:14.5vw}.hero-portrait{width:74%;margin-right:5px}.section-heading h2{font-size:11.5vw}
  .slider-controls button{width:42px}.about h2{font-size:8.7vw}.services li{font-size:6.8vw}.contact h2{font-size:15.5vw}
}
