[hidden]{display:none!important}.scroll-progress{height:3px;width:100%;position:fixed;top:0;left:0;transform:scaleX(var(--page-progress,0));transform-origin:left;background:var(--acid);z-index:60;pointer-events:none}.nav a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}.nav{gap:30px}.nav nav{gap:28px}.home-page .nav{background:var(--ink);color:var(--paper);border-color:#ffffff20}.home-page .nav-contact{border-color:#ffffff60}.home-page .nav a:hover{color:var(--acid)}.radical-hero{background:var(--ink);color:var(--paper);position:relative;padding-top:35px;padding-bottom:45px;isolation:isolate;min-height:calc(100svh - 100px)}.radical-hero .hero-top{position:relative;z-index:2}.radical-title{position:relative;margin:55px 0 50px;z-index:2}.radical-title h1{font-family:'Space Grotesk',Arial,sans-serif;font-size:clamp(74px,10.7vw,172px);font-weight:600;letter-spacing:-.075em;line-height:.93;margin:0}.radical-title h1>span{display:block;max-width:100%;width:max-content;will-change:transform}.outline-word{-webkit-text-stroke:1px var(--paper);color:transparent}.title-dot{color:var(--acid)}.hero-stamp{position:absolute;right:0;top:5%;width:145px;height:145px;display:grid;place-items:center;border:1px solid #ffffff40;border-radius:50%;transform:rotate(15deg);color:var(--acid);background:#151515a0}.hero-stamp span{font:10px monospace;letter-spacing:2px;text-align:center;padding-top:15px}.hero-stamp b{font-size:60px;line-height:1;animation:spin 25s linear infinite}.radical-hero .hero-bottom{position:relative;z-index:2}.radical-hero .intro{max-width:460px}.radical-hero .intro p{font-size:14px;color:#c7c8bf}.hero-talk{display:flex;align-items:center;gap:55px;border:1px solid #ffffff40;padding:20px 28px;border-radius:40px;justify-self:center;font-size:15px;transition:background .25s,color .25s}.hero-talk span{font-size:28px}.hero-talk:hover{background:var(--acid);color:var(--ink)}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px);background-size:90px 90px;z-index:-1;pointer-events:none}.constellation{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:.52;pointer-events:none}.tilted-ticker{position:relative;z-index:3;background:var(--acid);transform:rotate(-1.5deg) scale(1.02);margin:-10px 0;overflow:hidden}.home-page{overflow-x:clip}.manifesto{background:var(--ink);color:var(--paper);padding-top:140px;padding-bottom:120px}.manifesto h2{font-size:clamp(42px,6.7vw,100px);line-height:1.15;letter-spacing:-.05em;margin:45px 0 50px;max-width:1200px}.word{display:inline-block;background-image:linear-gradient(90deg,var(--word-color,#f4f3ed) var(--word-fill,100%),var(--word-muted,#62645c) var(--word-fill,100%));background-clip:text;-webkit-background-clip:text;color:transparent}.manifesto-bottom{display:flex;justify-content:space-between;gap:60px;align-items:end}.manifesto-bottom p{font-size:16px;line-height:1.8;max-width:650px;color:#bdbdb5;margin:0}.text-link{font-size:14px;border-bottom:1px solid;padding:12px 0;display:inline-block;white-space:nowrap}.text-link span{margin-left:50px}.selected-section{background:#e6e7db}.section-heading em,.section h2 em{font-family:Georgia,serif;font-weight:400}.selected-section .section-heading>a{align-self:end;justify-self:end}.stacked-projects{position:relative}.stacked-projects .project-wrap{position:sticky;top:45px;margin-bottom:75px;padding:25px;background:var(--paper);border:1px solid #15151520;border-radius:8px;box-shadow:0 -5px 30px #15151512}.stacked-projects .project-wrap:nth-child(2){top:60px}.stacked-projects .project-wrap:nth-child(3){top:75px}.stacked-projects .project-wrap:nth-child(4){top:90px;margin-bottom:0}.stacked-projects .project{transform:scale(var(--stack-scale,1));transform-origin:50% 0;transition:none}.stacked-projects .project-stage{height:450px;padding:40px 15%}.stacked-projects .browser-frame{transform:rotate(-2deg);max-width:800px}.stacked-projects .browser-frame img{height:310px}.project{width:100%}.project-stage-label{position:absolute;left:25px;top:22px;font:10px monospace;letter-spacing:1px}.project-wrap{min-width:0}.project-wrap .project-stage{border:1px solid #15151512}.testimonials{background:var(--ink);color:var(--paper)}.testimonials .section-heading{grid-template-columns:1fr 2fr 1fr}.quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.quote-grid figure{padding:30px;margin:0;border:1px solid #ffffff25;display:flex;flex-direction:column}.quote-mark{font:70px Georgia,serif;color:var(--acid);height:60px}.quote-grid blockquote{margin:0 0 35px;font-size:18px;line-height:1.65;color:#d8d9cf}.quote-grid figcaption{margin-top:auto;display:flex;flex-direction:column;gap:7px}.quote-grid figcaption strong{font-size:14px;font-weight:500}.quote-grid figcaption span{font:10px monospace;color:#95968b}.skills-section{background:var(--paper)}.skill-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.skill-grid article{padding:30px;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.skill-mark{font:36px 'Space Grotesk',sans-serif}.skill-grid h3{font-size:20px;font-weight:500;letter-spacing:-.7px;margin:25px 0 15px}.skill-grid p{font:12px/1.9 monospace;color:#707269;margin:0}.next-project{background:var(--acid);overflow:hidden;padding-top:65px;padding-bottom:40px}.next-link{display:flex;align-items:center;justify-content:space-between;gap:30px;font:500 clamp(40px,7.5vw,110px)/1.1 'Space Grotesk',sans-serif;letter-spacing:-.06em;margin:35px 0 50px}.next-link em{font-family:Georgia,serif;font-weight:400}.next-link b{font:130px Arial,sans-serif;transition:transform .4s}.next-link:hover b{transform:translate(10px,-10px) rotate(10deg)}.next-bottom{border-top:1px solid #15151540;padding-top:25px;display:flex;justify-content:space-between;gap:20px;font:10px monospace}.page-hero{padding-top:50px;padding-bottom:65px;border-bottom:1px solid var(--line);position:relative;overflow:hidden}.page-kicker{display:flex;justify-content:space-between;gap:25px;font:10px monospace;letter-spacing:1px}.page-hero h1{font:500 clamp(60px,8vw,120px)/1.05 'Space Grotesk',sans-serif;letter-spacing:-.065em;margin:65px 0 40px;position:relative}.page-hero h1 em{font-family:Georgia,serif;font-weight:400}.hero-symbol{color:#778e2b;position:absolute;right:0;top:0;font:100px Arial,sans-serif;transform:rotate(var(--scroll-turn,0deg))}.page-intro{display:flex;align-items:end;justify-content:space-between;gap:30px}.page-intro p{font-size:16px;line-height:1.75;max-width:600px;margin:0}.portfolio-section{padding-top:35px}.project-filters{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin-bottom:45px}.project-filters button{border:1px solid var(--line);border-radius:30px;background:none;padding:12px 20px;font-size:12px;cursor:pointer}.project-filters button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.project-filters sup{margin-left:7px;font-size:8px}.project-filters #filter-status{margin-left:auto}.portfolio-page .work-grid{gap:60px 30px}.portfolio-page .project-stage{height:370px;perspective:800px}.portfolio-page .browser-frame{transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) rotate(-3deg);transition:transform .4s}.portfolio-page .project:hover .browser-frame{transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) scale(1.04)}.portfolio-page .browser-frame img{height:220px}.portfolio-end{font:10px monospace;text-align:center;letter-spacing:1px;margin:60px 0 0}.about-page .page-hero{background:var(--ink);color:var(--paper);border:0}.about-page .page-hero h1{margin-bottom:55px}.about-symbol{position:relative;top:auto;right:auto;font-size:100px;color:var(--acid);line-height:1}.biography{display:grid;grid-template-columns:1fr 1.4fr;gap:10%;background:var(--ink);color:var(--paper);padding-top:50px}.bio-label{min-width:0;overflow:hidden}.type-sculpture{font:600 clamp(60px,7vw,115px)/.98 'Space Grotesk',sans-serif;letter-spacing:-.08em;display:flex;flex-direction:column;margin-top:60px;color:var(--acid);transform:rotate(-6deg)}.type-sculpture>span:nth-child(2){-webkit-text-stroke:1px var(--acid);color:transparent}.type-sculpture>span:last-child{font-size:70%}.type-sculpture>span>span{font-family:Arial,sans-serif}.bio-copy h2{font-size:35px;line-height:1.35;letter-spacing:-1.4px;margin-bottom:30px}.bio-copy>p{font-size:16px;line-height:1.8;color:#bdbdb5;margin-bottom:24px}.bio-copy .text-link{color:var(--acid);margin-top:10px}.fact-strip{display:grid;grid-template-columns:1fr 1.25fr 1fr;background:var(--acid);padding:50px 5%;gap:30px}.fact-strip>div{display:flex;flex-direction:column;border-right:1px solid #15151540;padding-right:20px;gap:20px}.fact-strip>div:last-child{border:0}.fact-strip strong{font:500 clamp(50px,6vw,85px) 'Space Grotesk',sans-serif;letter-spacing:-5px;white-space:nowrap}.fact-strip strong span{font:30px Arial,sans-serif;vertical-align:top;display:inline-block;margin-top:15px;margin-left:4px}.fact-strip>div>span{font:9px/1.5 monospace;letter-spacing:1px}.industry-section h2{margin:30px 0}.industry-section>p{font-size:15px}.industry-tags{display:flex;flex-wrap:wrap;gap:15px;margin-top:35px}.industry-tags>span{border:1px solid var(--ink);border-radius:50px;padding:18px 30px;font-size:18px;transition:background .3s,transform .5s}.industry-tags>span:nth-child(3n+1){background:#e3ead1;transform:rotate(-3deg)}.industry-tags>span:nth-child(3n+2){background:#e5ddf0;transform:rotate(3deg)}.industry-tags>span:hover{background:var(--acid)}.expertise-section{background:#e7e7dd}.expertise-tags{display:grid;grid-template-columns:1fr 1fr;gap:0 45px}.expertise-tags>span{font:500 24px 'Space Grotesk',sans-serif;border-top:1px solid #15151530;padding:24px 0;letter-spacing:-.8px}.core-expertise{display:grid;grid-template-columns:1fr 3fr;gap:30px;margin-top:30px;border-top:1px solid #15151530;padding-top:30px}.core-expertise p{font-size:14px;line-height:2;margin:0}.faq-section{background:var(--paper)}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;gap:30px;cursor:pointer;list-style:none;padding:27px 0;font:500 23px 'Space Grotesk',sans-serif;letter-spacing:-.6px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{font:10px monospace;width:40px;flex-shrink:0}.faq-list summary>b{font:25px Arial,sans-serif;margin-left:auto;transition:transform .3s}.faq-list details[open] summary>b{transform:rotate(45deg)}.faq-list p{max-width:750px;margin:0 70px 30px;font-size:15px;line-height:1.8}.contact-page .page-hero{background:var(--acid);border:0}.contact-page .page-hero .hero-symbol{color:var(--ink);right:-10px;top:50px;font-size:130px}.contact-page .page-hero h1{font-size:clamp(50px,7.2vw,110px);max-width:1150px}.enquiry-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:10%;padding-top:70px}.contact-aside{align-self:start;position:sticky;top:45px}.contact-aside h2{font-size:45px;margin:30px 0}.contact-aside>p{font-size:15px;line-height:1.8;max-width:380px;color:#65675e;margin-bottom:40px}.contact-aside .email-link{font-size:23px}.contact-orbit{height:200px;display:flex;align-items:center;gap:40px}.contact-orbit>span{font-size:125px;line-height:1;transform:rotate(var(--scroll-turn,0deg));color:#7b8e2f}.contact-orbit p{font:9px/1.8 monospace;letter-spacing:1px}.enquiry-section input,.enquiry-section textarea{font-size:14px;padding:15px 0;border-color:#15151540}.enquiry-section input:focus,.enquiry-section textarea:focus{border-color:var(--ink)}.form-heading{display:block;margin-bottom:30px}.choice-group{padding:0;border:0;margin:15px 0 35px;min-width:0}.choice-group legend{font-size:12px;margin-bottom:15px}.choice-chips{display:flex;gap:8px;flex-wrap:wrap}.choice-chips label{position:relative;cursor:pointer}.choice-chips input{position:absolute;width:1px;height:1px;opacity:0;margin:0;padding:0;left:50%;top:50%}.choice-chips span{display:block;padding:10px 15px;border:1px solid var(--line);border-radius:25px;font-size:11px;transition:background .2s}.choice-chips input:checked+span{background:var(--acid);border-color:var(--ink)}.choice-chips input:focus-visible+span{outline:2px solid #719200;outline-offset:3px}.enquiry-section .form-note{color:#65675e}.contact-page footer{border-top:1px solid var(--line)}.cursor-light{display:none}.js .reveal{transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}@media(hover:hover) and (pointer:fine){.cursor-light{display:block;position:fixed;top:var(--cursor-y,-200px);left:var(--cursor-x,-200px);width:400px;height:400px;transform:translate(-50%,-50%);background:radial-gradient(circle,#dcfa5808,transparent 65%);pointer-events:none;z-index:25}.service-list article:hover{padding-left:18px;background:#dcfa5840;transition:padding .3s,background .3s}}
@view-transition{navigation:auto}::view-transition-old(root){animation:page-out .25s ease both}::view-transition-new(root){animation:page-in .45s cubic-bezier(.2,.7,.2,1) both}@keyframes page-out{to{opacity:0;transform:translateY(-20px)}}@keyframes page-in{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@media(max-width:1000px){.radical-title h1{font-size:10.4vw}.hero-stamp{width:100px;height:100px;top:-40px}.hero-stamp b{font-size:40px}.hero-stamp span{font-size:8px}.radical-hero{min-height:650px}.hero-bottom{grid-template-columns:1.3fr 1fr auto}.radical-hero .intro p{font-size:12px}.hero-talk{gap:20px;padding:15px 22px}.stacked-projects .project-stage{height:380px;padding:45px 10%}.stacked-projects .browser-frame img{height:270px}.page-hero h1{font-size:7.7vw}.page-hero .hero-symbol{font-size:65px}.biography{gap:6%}.bio-copy h2{font-size:29px}.bio-copy>p{font-size:14px}.fact-strip strong{font-size:6vw}.skill-grid{grid-template-columns:1fr 1fr}.enquiry-section{gap:6%}.contact-aside h2{font-size:34px}.contact-aside .email-link{font-size:19px}.contact-page .page-hero .hero-symbol{font-size:65px}.testimonials .section-heading{grid-template-columns:1fr 2fr}.quote-grid blockquote{font-size:16px}.core-expertise{grid-template-columns:1fr 2fr}}
@media(max-width:640px){.nav nav{gap:15px;display:none}.nav nav.open{display:grid;grid-template-columns:1fr 1fr}.home-page .nav nav{background:var(--ink);border-color:#ffffff30}.nav nav a{padding:12px}.nav nav .nav-contact{border-radius:0;border:0;padding:12px}.hero-stamp{width:80px;height:80px;top:-65px;right:0}.hero-stamp span{font-size:6px;padding-top:10px}.hero-stamp b{font-size:32px}.radical-hero{min-height:640px;padding-top:30px;padding-bottom:45px}.radical-hero .hero-top{max-width:70%}.radical-title{margin-top:110px;margin-bottom:60px}.radical-title h1{font-size:12.7vw;letter-spacing:-.07em;line-height:1.08}.radical-hero .hero-bottom{grid-template-columns:1fr;gap:25px}.radical-hero .intro{max-width:320px}.radical-hero .intro p{font-size:14px}.radical-hero .hero-talk{justify-self:start;font-size:13px;padding:12px 20px}.radical-hero .hero-index{display:block;font-size:8px;position:absolute;right:0;bottom:0;text-align:right}.radical-hero .hero-top>span:last-child{display:none}.constellation{opacity:.38}.tilted-ticker{transform:rotate(-2deg) scale(1.03)}.manifesto{padding-top:85px;padding-bottom:70px}.manifesto h2{font-size:40px;line-height:1.18;margin:35px 0}.manifesto-bottom{display:block}.manifesto-bottom p{font-size:14px}.manifesto-bottom .text-link{margin-top:25px}.selected-section .section-heading>a{margin-top:0}.stacked-projects .project-wrap{padding:12px;margin-bottom:45px;top:12px}.stacked-projects .project-wrap:nth-child(2){top:22px}.stacked-projects .project-wrap:nth-child(3){top:32px}.stacked-projects .project-wrap:nth-child(4){top:42px}.stacked-projects .project-stage{height:290px;padding:45px 20px}.stacked-projects .browser-frame img{height:190px}.project-stage-label{font-size:8px;top:15px;left:15px;max-width:85%}.stacked-projects .project h3{font-size:22px}.quote-grid{grid-template-columns:1fr;gap:20px}.quote-grid figure{padding:25px}.quote-grid blockquote{font-size:16px}.testimonials .section-heading{display:block}.skill-grid{grid-template-columns:1fr 1fr}.skill-grid article{padding:20px 15px}.skill-grid h3{font-size:17px;line-height:1.3;margin-top:18px}.skill-grid p{font-size:10px}.skill-mark{font-size:30px}.next-link{font-size:38px;letter-spacing:-2px;gap:10px;margin:25px 0 35px}.next-link b{font-size:50px;align-self:end}.next-bottom{display:block;font-size:9px;line-height:1.8}.next-bottom>a{display:block;margin-top:10px;font-size:12px}.page-hero{padding-top:30px;padding-bottom:45px}.page-kicker{font-size:8px;letter-spacing:.4px}.page-kicker>span:last-child{display:none}.page-kicker .eyebrow{font-size:9px}.page-hero h1{font-size:13vw;letter-spacing:-.065em;margin:45px 0 30px}.page-hero .hero-symbol{display:none}.page-intro{display:block}.page-intro p{font-size:14px}.page-intro>.eyebrow{display:block;margin-top:25px;font-size:9px}.portfolio-section{padding-top:25px}.project-filters{gap:8px;margin-bottom:30px}.project-filters button{font-size:10px;padding:10px 14px}.project-filters #filter-status{width:100%;margin:10px 0 0;font-size:8px}.portfolio-page .work-grid{gap:35px}.portfolio-page .project-stage{height:290px;padding:45px 25px}.portfolio-page .browser-frame img{height:190px}.portfolio-page .project h3{font-size:23px}.portfolio-end{font-size:8px;line-height:1.8}.about-page .page-hero h1{margin-bottom:30px}.biography{grid-template-columns:1fr;gap:45px;padding-top:15px;padding-bottom:60px}.type-sculpture{margin-top:35px;font-size:23vw;max-width:300px;transform:rotate(-4deg);padding:0 10px}.bio-copy h2{font-size:29px;line-height:1.3}.bio-copy>p{font-size:14px}.fact-strip{padding:35px 6%;grid-template-columns:1fr;gap:25px}.fact-strip>div{border:0;border-bottom:1px solid #15151530;padding:0 0 25px;gap:10px}.fact-strip>div:last-child{padding-bottom:0}.fact-strip strong{font-size:65px;letter-spacing:-3px}.fact-strip strong span{font-size:25px;margin-top:12px}.industry-tags{gap:10px}.industry-tags>span{font-size:13px;padding:13px 18px}.industry-section>p{font-size:14px;line-height:1.8}.expertise-tags{grid-template-columns:1fr}.expertise-tags>span{font-size:22px;padding:20px 0}.core-expertise{grid-template-columns:1fr;gap:15px}.core-expertise p{font-size:13px;line-height:1.9}.faq-list summary{font-size:19px;gap:12px;padding:22px 0;line-height:1.4}.faq-list summary>span{width:22px}.faq-list p{margin:0 34px 25px;font-size:14px}.contact-page .page-hero h1{font-size:12.5vw;max-width:100%;margin-bottom:10px}.enquiry-section{grid-template-columns:1fr;gap:45px;padding-top:45px}.contact-aside{position:static}.contact-aside h2{font-size:36px}.contact-aside>p{font-size:14px;margin-bottom:25px}.contact-aside .email-link{font-size:21px}.contact-orbit{height:140px}.contact-orbit>span{font-size:95px}.choice-chips span{padding:10px 12px;font-size:10px}.enquiry-section .form-row{grid-template-columns:1fr 1fr;gap:18px}.enquiry-section label{font-size:10px}.cursor-light{display:none}}
@media(prefers-reduced-motion:reduce){.radical-title h1>span,.type-sculpture>span,.hero-symbol,.contact-orbit>span{transform:none!important}.word{background:none;color:inherit}.stacked-projects .project-wrap{position:static}.stacked-projects .project{transform:none}.cursor-light{display:none}::view-transition-old(root),::view-transition-new(root){animation:none}}

main{overflow-x:clip}


/* Service pages */
.breadcrumbs{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font:10px/1.8 monospace;margin-bottom:35px;color:#73776a}.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}.service-hero{background:var(--ink);color:var(--paper);position:relative;overflow:hidden;padding-top:35px;padding-bottom:75px}.service-hero .breadcrumbs{color:#b6b9aa}.service-hero .page-kicker{color:#b6b9aa}.service-hero-grid{display:grid;grid-template-columns:1.5fr .8fr;align-items:center;gap:6%;margin-top:55px}.service-hero h1{font:500 clamp(45px,5.7vw,88px)/1.08 'Space Grotesk',sans-serif;letter-spacing:-.055em;margin:0 0 30px;max-width:900px}.service-hero h1 em{font-family:Georgia,serif;font-weight:400;color:var(--acid)}.service-hero-grid>div>p{font-size:17px;line-height:1.75;color:#bdbfb2;max-width:650px;margin:0 0 35px}.service-cta{border:1px solid #ffffff50;border-radius:35px;padding:18px 25px;display:inline-flex;gap:35px;align-items:center;font-size:13px;transition:background .3s,color .3s}.service-cta span{font-size:25px}.service-cta:hover{background:var(--acid);color:var(--ink)}.service-art{position:relative;max-width:350px;justify-self:center;width:100%;padding-bottom:35px}.service-art-frame{border:1px solid #ffffff25;aspect-ratio:1;position:relative;display:grid;place-items:center;background-image:linear-gradient(#ffffff04 1px,transparent 1px),linear-gradient(90deg,#ffffff04 1px,transparent 1px);background-size:28px 28px;}.art-caption{position:absolute;top:18px;left:18px;font:8px monospace;letter-spacing:1px;color:#b7baab}.service-art-frame strong{font:500 clamp(75px,9vw,140px) 'Space Grotesk',sans-serif;color:var(--acid);position:relative;z-index:2;transform:rotate(var(--scroll-turn,0deg))}.art-axis{position:absolute;bottom:18px;left:18px;font:8px/1.7 monospace;color:#b7baab;letter-spacing:1px}.service-art-orbit{position:absolute;inset:18%;border:1px solid #dcfa5870;border-radius:50%;pointer-events:none}.orbit-a{transform:rotateX(55deg) rotate(-25deg);animation:service-orbit 18s linear infinite}.orbit-b{transform:rotateY(55deg) rotate(25deg)}.art-coordinate{font:8px monospace;letter-spacing:2px;color:#9ba18a;position:absolute;bottom:0;right:0}.service-overview{display:grid;grid-template-columns:1fr 1.2fr;gap:10%}.service-overview h2{font-size:clamp(34px,3.5vw,52px);margin:25px 0}.overview-copy .large-copy{font-size:23px;line-height:1.55;margin:0 0 28px}.overview-copy>p:not(.large-copy){font-size:16px;line-height:1.85;color:#64695d}.service-deliverables{background:#e5e7da}.deliverable-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.deliverable-grid article{position:relative;border:1px solid #15151525;background:var(--paper);padding:30px 30px 65px;min-width:0}.deliverable-grid h3{font:500 28px/1.2 'Space Grotesk',sans-serif;letter-spacing:-1px;margin:35px 0 20px}.deliverable-grid p{font-size:14px;line-height:1.8;color:#626758;margin:0}.deliverable-grid .eyebrow{font-size:8px}.deliverable-arrow{position:absolute;bottom:25px;right:25px;font-size:28px}.service-process{background:var(--ink);color:var(--paper);padding-top:75px;padding-bottom:75px}.service-process .process-grid{margin-top:0}.service-process .process-grid article{border-top:1px solid #ffffff35;padding-top:25px}.service-process .process-grid p{color:#b7baad}.service-process .process-grid article>span{color:var(--acid)}.related-services{background:#e5e7da}.related-services .section-heading>a{align-self:end;justify-self:end}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.related-grid>a{position:relative;display:block;padding:30px 30px 60px;border:1px solid #15151530;transition:background .3s,transform .7s}.related-grid>a:hover{background:var(--acid)}.related-grid>a>span{font-size:40px}.related-grid h3{font:500 25px 'Space Grotesk',sans-serif;letter-spacing:-.7px;margin:25px 0 15px}.related-grid p{font-size:13px;line-height:1.8;color:#626758}.related-grid b{position:absolute;right:25px;bottom:20px;font-size:28px;font-weight:400}.footer-services{padding:40px 5%;background:var(--paper);border-bottom:1px solid var(--line);border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 3fr;gap:40px}.footer-services>div{display:grid;grid-template-columns:repeat(3,1fr);gap:18px 30px;font-size:12px}.footer-services a:hover{text-decoration:underline;text-underline-offset:4px}.services-page .page-hero{background:var(--ink);color:var(--paper)}.services-page .breadcrumbs{color:#b6b9aa}.service-directory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.service-directory-card{display:flex;flex-direction:column;border:1px solid var(--line);padding:28px;position:relative}.service-directory-card>div{display:flex;justify-content:space-between;align-items:start;gap:15px}.service-directory-card .eyebrow{font-size:8px;line-height:1.8;max-width:160px}.directory-symbol{font-size:35px;line-height:1}.service-directory-card h2{font-size:28px;letter-spacing:-1px;line-height:1.2;margin:35px 0 20px}.service-directory-card p{font-size:14px;line-height:1.8;color:#626758;margin:0 0 30px}.directory-link{margin-top:auto;font:10px monospace;display:flex;align-items:center;gap:15px;justify-content:space-between}.directory-link b{font:25px Arial,sans-serif}.service-directory-card:hover{background:#dcfa5850}.service-list h3 a:hover{text-decoration:underline;text-underline-offset:6px}.service-list .service-icon{display:block}.service-list .service-icon:hover{transform:translate(3px,-3px)}@keyframes service-orbit{to{transform:rotateX(55deg) rotate(335deg)}}
@media(min-width:1600px){.footer-services{padding-left:max(5%,calc((100vw - 1440px)/2));padding-right:max(5%,calc((100vw - 1440px)/2))}}
@media(max-width:1000px){.service-hero-grid{grid-template-columns:1.5fr .7fr;gap:5%}.service-hero h1{font-size:6vw}.service-hero-grid>div>p{font-size:15px}.service-art-frame strong{font-size:80px}.deliverable-grid{gap:15px}.deliverable-grid article{padding:25px 20px 60px}.deliverable-grid h3{font-size:24px}.service-directory-grid{grid-template-columns:1fr 1fr}.related-grid{gap:15px}.related-grid>a{padding:25px 20px 60px}.related-grid h3{font-size:22px}.service-overview{gap:7%}.footer-services{grid-template-columns:.7fr 3fr;gap:25px}.footer-services>div{gap:20px;font-size:11px}}
@media(max-width:640px){.service-hero{padding-top:25px;padding-bottom:50px}.breadcrumbs{font-size:9px;gap:9px;margin-bottom:25px}.service-hero .page-kicker>span:last-child{display:none}.service-hero .page-kicker .eyebrow{font-size:8px}.service-hero-grid{grid-template-columns:1fr;margin-top:35px;gap:45px}.service-hero h1{font-size:12vw;line-height:1.13;letter-spacing:-.06em}.service-hero-grid>div>p{font-size:14px}.service-cta{font-size:11px;padding:15px 20px;gap:20px}.service-art{max-width:230px;padding-bottom:30px;margin:0 auto}.service-art-frame strong{font-size:95px}.art-caption,.art-axis{font-size:7px}.art-coordinate{font-size:7px}.service-overview{grid-template-columns:1fr;gap:35px}.service-overview h2{font-size:36px}.overview-copy .large-copy{font-size:21px}.overview-copy>p:not(.large-copy){font-size:14px}.deliverable-grid,.related-grid,.service-directory-grid{grid-template-columns:1fr;gap:20px}.deliverable-grid article{padding:25px 25px 60px}.deliverable-grid h3{font-size:27px;margin-top:25px}.deliverable-grid p{font-size:14px}.service-process{padding-top:60px;padding-bottom:60px}.service-process .process-grid{gap:30px}.related-grid>a{padding:25px 25px 50px}.related-grid h3{font-size:25px;margin-top:20px}.related-grid>a>span{font-size:35px}.footer-services{padding:30px 6%;grid-template-columns:1fr;gap:25px}.footer-services>div{grid-template-columns:1fr 1fr;gap:20px;font-size:11px;line-height:1.6}.service-directory-card{padding:25px}.service-directory-card h2{font-size:29px}.service-directory-card p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.service-art-frame strong{transform:none!important}.service-art-orbit{animation:none!important}}
.skill-card-link{display:block;color:inherit}.skill-card-link h3{transition:color .2s}.skill-explore{display:flex;align-items:center;justify-content:space-between;gap:15px;font:9px/1.6 monospace;margin-top:24px;letter-spacing:.5px}.skill-explore b{font:24px Arial,sans-serif;transition:transform .3s}.skill-card-link:hover .skill-explore b{transform:translate(4px,-4px)}.skill-grid article:has(.skill-card-link:hover){background:#dcfa5845}.skill-card-link:focus-visible{outline:2px solid #719200;outline-offset:8px}@media(max-width:640px){.skill-explore{font-size:8px;letter-spacing:0;gap:8px}.skill-explore b{font-size:20px}}


.about-page .breadcrumbs{color:#b6b9aa}

.core-expertise{grid-template-columns:auto minmax(0,1fr);gap:30px;align-items:center}.core-expertise p{white-space:nowrap;overflow-x:auto;max-width:100%;font-size:clamp(11px,.9vw,14px);padding-bottom:4px}@media(max-width:640px){.core-expertise{grid-template-columns:1fr;gap:15px}.core-expertise p{font-size:13px}}

@media(min-width:1001px){.industry-tags{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:18px}.industry-tags>span{grid-column:span 2;position:static;text-align:center;display:flex;align-items:center;justify-content:center;min-height:70px;padding:16px 12px;font-size:clamp(14px,1.2vw,18px);transform:none!important}.industry-tags>span:nth-child(6){grid-column:2 / span 2}}
/* Industry-specific pages and website concepts. */
.niche-ranch{--niche-accent:#d5dfb2;--niche-paper:#edf0df;--niche-dark:#23342b}.niche-repair{--niche-accent:#ffd2a1;--niche-paper:#f4e8dc;--niche-dark:#30302b}.niche-hvac{--niche-accent:#b9e6ef;--niche-paper:#e3f0f1;--niche-dark:#20353c}.niche-hero{background:var(--ink);color:var(--paper);padding-top:35px;padding-bottom:45px}.niche-hero .breadcrumbs,.niche-hero .page-kicker{color:#bdc2b5}.niche-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:8%;align-items:center;margin-top:60px}.niche-hero h1{font:500 clamp(46px,5.3vw,80px)/1.1 'Space Grotesk',sans-serif;letter-spacing:-.06em;margin:0 0 30px}.niche-hero h1 em{font-family:Georgia,serif;font-weight:400;color:var(--niche-accent)}.niche-hero-grid>div>p{font-size:16px;line-height:1.85;color:#bfc2b7;max-width:620px;margin:0 0 30px}.niche-hero .service-cta:hover{background:var(--niche-accent)}.niche-preview{margin:0;min-width:0}.concept-browser{background:var(--niche-paper);color:var(--niche-dark);border-radius:8px;overflow:hidden;border:1px solid #ffffff30;box-shadow:0 20px 50px #0003}.concept-browser-bar{background:#ffffffb0;display:flex;justify-content:space-between;padding:10px 15px;font:8px monospace;letter-spacing:.5px}.concept-identity{display:flex;justify-content:space-between;align-items:center;padding:23px 25px;font:9px monospace;letter-spacing:.8px}.concept-identity>span{font:20px Arial,sans-serif}.concept-art{height:135px;position:relative;overflow:hidden;background:var(--niche-dark);margin:0 25px;color:var(--niche-accent)}.concept-orbit{position:absolute;right:20px;top:20px;width:120px;height:120px;border:1px solid currentColor;border-radius:50%;transform:rotate(var(--scroll-turn,0deg))}.concept-orbit:before,.concept-orbit:after{content:'';position:absolute;inset:15px;border:1px solid currentColor;border-radius:50%}.concept-orbit:after{inset:32px}.concept-lines{position:absolute;left:-20px;right:40%;height:90px;bottom:-45px;border:1px solid currentColor;border-radius:50% 50% 0 0;transform:rotate(-10deg)}.niche-ranch .concept-lines{bottom:-25px;height:100px;left:-60px;right:-60px;border-radius:100% 100% 0 0;transform:rotate(-8deg)}.niche-hvac .concept-orbit{border-radius:12px;top:25px;transform:rotate(var(--scroll-turn,0deg))}.niche-hvac .concept-orbit:before{border-radius:0;transform:rotate(45deg)}.niche-repair .concept-orbit{border-radius:5px;width:100px;top:15px}.niche-repair .concept-orbit:before{inset:32px 15px 12px}.niche-repair .concept-orbit:after{inset:12px 15px 100px;border-radius:2px}.concept-art-label{position:absolute;left:15px;bottom:15px;font:7px monospace;letter-spacing:1px}.concept-headline{font:500 clamp(24px,2.5vw,37px)/1.1 'Space Grotesk',sans-serif;letter-spacing:-1px;padding:25px 25px 20px}.niche-ranch .concept-headline{font-family:Georgia,serif;font-style:italic;font-size:clamp(28px,2.8vw,42px)}.concept-action{display:flex;justify-content:space-between;font:10px monospace;background:var(--niche-dark);color:var(--niche-paper);padding:15px;margin:0 25px 25px}.concept-links{display:flex;justify-content:space-between;padding:16px 25px;border-top:1px solid #15151525;font:8px monospace;gap:8px}.niche-preview figcaption{font:9px/1.8 monospace;color:#b4baab;margin-top:17px}.niche-audience{font:10px/1.8 monospace;color:var(--niche-accent);letter-spacing:.6px;margin:45px 0 0;padding-top:25px;border-top:1px solid #ffffff25}.niche-features{background:var(--niche-paper)}.niche-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.niche-feature-grid article{padding:28px;border:1px solid #15151525;background:#ffffff50}.niche-feature-grid .eyebrow{color:#616a58}.niche-feature-grid h3{font:500 25px/1.2 'Space Grotesk',sans-serif;letter-spacing:-.9px;margin:28px 0 20px}.niche-feature-grid p{font-size:14px;line-height:1.8;color:#566052;margin:0}.niche-proof{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:8%;background:var(--niche-paper)}.niche-proof h2{margin:25px 0}.niche-proof p{font-size:15px;line-height:1.8;max-width:450px}.niche-proof img{width:100%;height:auto;max-height:420px;object-fit:contain;display:block;box-shadow:0 15px 30px #15151520}.niche-bottom-cta{color:var(--ink);border-color:#15151550;margin-top:35px}.niche-bottom-cta:hover{background:var(--niche-accent)}.niche-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.niche-card{border:1px solid #15151525;background:var(--niche-paper)}.niche-card>a{display:flex;flex-direction:column;position:relative;height:100%;padding:30px;transition:background .3s}.niche-card>a:hover{background:var(--niche-accent)}.niche-card h3{font:500 29px/1.12 'Space Grotesk',sans-serif;letter-spacing:-1.1px;margin:30px 0 22px}.niche-card p{font-size:14px;line-height:1.85;margin:0 0 30px;color:#555e52}.niche-card-link{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:auto;font:10px monospace}.niche-card-link b{font:28px Arial,sans-serif}.niche-home-section{background:#e6e7db}.niche-home-section .section-heading>a{justify-self:end;align-self:end}.industries-page .page-hero{background:var(--ink);color:var(--paper)}.industries-page .breadcrumbs{color:#bdc2b5}.footer-industries{border-top:0}.enquiry-section select{width:100%;border:0;border-bottom:1px solid #15151540;background:transparent;border-radius:0;color:var(--ink);padding:15px 0;font:14px 'DM Sans',Arial,sans-serif;margin:0 0 30px}.enquiry-section select:focus-visible{outline:2px solid #719200;outline-offset:3px}
@media(max-width:1000px){.niche-hero-grid{gap:5%;grid-template-columns:1fr 1fr}.niche-hero h1{font-size:5.5vw}.niche-hero-grid>div>p{font-size:14px}.concept-art{height:110px;margin:0 18px}.concept-identity{padding:20px 18px;font-size:8px}.concept-headline{padding:22px 18px;font-size:27px}.concept-action{margin:0 18px 20px;font-size:9px}.concept-links{padding:15px 18px;font-size:7px}.concept-browser-bar{font-size:6px}.niche-feature-grid{grid-template-columns:1fr 1fr}.niche-card>a{padding:25px}.niche-card h3{font-size:25px}.niche-grid{gap:18px}}
@media(max-width:640px){.niche-hero{padding-top:25px;padding-bottom:35px}.niche-hero .page-kicker .eyebrow{font-size:8px;line-height:1.9}.niche-hero-grid{grid-template-columns:1fr;gap:40px;margin-top:35px}.niche-hero h1{font-size:12vw;line-height:1.12;letter-spacing:-.055em}.niche-hero-grid>div>p{font-size:14px}.niche-preview{max-width:440px}.concept-art{height:120px}.concept-headline,.niche-ranch .concept-headline{font-size:32px;line-height:1.15}.concept-browser-bar{font-size:7px}.concept-art-label{font-size:6px}.concept-action{font-size:9px}.concept-links{font-size:8px}.niche-preview figcaption{font-size:8px}.niche-audience{font-size:9px;margin-top:30px}.niche-feature-grid,.niche-grid{grid-template-columns:1fr;gap:20px}.niche-feature-grid article{padding:25px}.niche-feature-grid h3{font-size:25px;margin:20px 0 15px}.niche-proof{grid-template-columns:1fr;gap:35px}.niche-proof p{font-size:14px}.niche-card>a{padding:28px}.niche-card h3{font-size:30px}.niche-bottom-cta{font-size:11px;gap:15px}.enquiry-section select{font-size:13px}}
@media(prefers-reduced-motion:reduce){.concept-orbit{transform:none!important}}

/* Industry photography: local responsive assets, clear subjects and readable labels. */
.concept-art{height:auto;aspect-ratio:3/2;isolation:isolate}.concept-art img{display:block;width:100%;height:100%;object-fit:cover}.concept-art:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#0009);pointer-events:none}.concept-art-label{z-index:1;color:#fff;text-shadow:0 1px 3px #0008}.niche-repair .concept-art img{object-position:45% 65%}.niche-hvac .concept-art img{object-position:55% 50%}

.niche-roofing{--niche-accent:#edba85;--niche-paper:#f2e7db;--niche-dark:#3a2b24}.niche-plumbing{--niche-accent:#9cceeb;--niche-paper:#e5eff5;--niche-dark:#203c50}.niche-dental{--niche-accent:#b4dfce;--niche-paper:#e8f3ee;--niche-dark:#24493e}

/* Clear photography above the industry card copy. */
.niche-card{overflow:hidden;background:var(--niche-paper);border-color:#15151525}.niche-card>a{padding:0;color:var(--ink);background:transparent}.niche-card>a:hover{background:transparent}.niche-card-media{overflow:hidden;aspect-ratio:2/1;background:var(--niche-dark)}.niche-card .niche-card-photo{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.niche-card-copy{padding:30px;display:flex;flex-direction:column;flex:1}.niche-card h3{margin:24px 0 20px}.niche-card p{color:#555e52}.niche-card-link{padding-top:10px}.niche-card>a:hover .niche-card-photo,.niche-card>a:focus-visible .niche-card-photo{transform:scale(1.04)}.niche-card>a:focus-visible{outline:3px solid var(--niche-dark);outline-offset:-4px}.niche-card-link b{color:var(--niche-dark)}
@media(max-width:1000px){.niche-card>a{padding:0}.niche-card-copy{padding:25px}}
@media(max-width:640px){.niche-card>a{padding:0}.niche-card-copy{padding:28px}.niche-card-media{aspect-ratio:3/2}}
@media(prefers-reduced-motion:reduce){.niche-card .niche-card-photo{transition:none}.niche-card>a:hover .niche-card-photo,.niche-card>a:focus-visible .niche-card-photo{transform:none}}

.niche-cleaning{--niche-accent:#bce2d2;--niche-paper:#edf5ec;--niche-dark:#25463b}.niche-auto{--niche-accent:#f3b282;--niche-paper:#f2e9e0;--niche-dark:#3a302b}.niche-remodeling{--niche-accent:#ddc79f;--niche-paper:#f1ede3;--niche-dark:#433d30}

/* Original RM monogram, without its surrounding box. */
.nav .brand,footer .brand{display:block;flex-shrink:0;line-height:0;letter-spacing:0}.brand img{width:43px;height:49px;object-fit:contain;display:block}.brand .brand-light{display:none}.home-page .nav .brand-dark{display:none}.home-page .nav .brand-light{display:block}footer .brand img{width:34px;height:39px}@media(max-width:640px){.nav .brand img{width:36px;height:42px}}

.brand img{transition:filter .2s ease}.nav .brand:hover img,footer .brand:hover img,.nav .brand:focus-visible img,footer .brand:focus-visible img{filter:brightness(0) saturate(100%) invert(91%) sepia(76%) saturate(594%) hue-rotate(15deg) brightness(102%) contrast(96%)}
@media(prefers-reduced-motion:reduce){.brand img{transition:none}}

.nav-note{transform:translateY(9px)}

/* Text-led navigation replaces repeated diagonal-arrow ornaments. */
.hero-talk,.service-cta{justify-content:center;gap:0}.text-link{border-bottom:1px solid currentColor;padding-bottom:5px}.niche-card-link{justify-content:flex-start;text-decoration:underline;text-underline-offset:5px}.next-link{display:block}.archive-list span:last-child:after{content:none!important}.niche-card>a:hover .niche-card-link{text-decoration-thickness:2px}

.selected-section>.section-heading{grid-template-columns:1fr auto}.selected-section>.section-heading h2{grid-column:1;text-align:left;margin-left:0}.selected-section>.section-heading>.text-link{grid-column:2;justify-self:end;align-self:end}@media(max-width:640px){.selected-section>.section-heading>.text-link{display:inline-block;margin-top:20px}}

/* Keep photography and website previews upright across every page. */
.browser-frame,.lavender .browser-frame,.peach .browser-frame,.project:hover .browser-frame,.stacked-projects .browser-frame,.portfolio-page .browser-frame,.portfolio-page .project:hover .browser-frame,.about-photo,.js .about-photo.visible{transform:none!important}

/* Zoom the screenshot inside its upright project frame. */
.browser-frame img{transition:transform .55s cubic-bezier(.2,.7,.2,1);transform-origin:center center}
@media(hover:hover) and (pointer:fine){.project:hover .browser-frame img{transform:scale(1.06)}}
.project:focus-within .browser-frame img{transform:scale(1.06)}
@media(prefers-reduced-motion:reduce){.browser-frame img{transition:none}.project:hover .browser-frame img,.project:focus-within .browser-frame img{transform:none}}

/* Show complete project screenshots on phones and tablets. */
@media(max-width:1000px){
.project-stage,.portfolio-page .project-stage,.stacked-projects .project-stage{height:auto;min-height:0;padding:48px 20px 28px}
.browser-frame,.stacked-projects .browser-frame{width:100%;min-width:0;max-width:100%}
.browser-frame img,.portfolio-page .browser-frame img,.stacked-projects .browser-frame img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;transform:none!important}
}

/* Mobile navigation drawer, inspired by the original site. */
.mobile-nav-top{display:none}
@media(max-width:640px){
body.menu-open{overflow:hidden}
.nav #navigation{display:flex;position:fixed;inset:0 0 0 auto;width:min(100%,455px);height:100dvh;overflow-y:auto;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;margin:0;padding:32px 34px 50px;background:#080c16;color:#f4f3ed;border:0;z-index:100;transform:translateX(100%);visibility:hidden;transition:transform .4s cubic-bezier(.22,.7,.2,1),visibility 0s .4s}
.nav #navigation.open{transform:translateX(0);visibility:visible;transition:transform .4s cubic-bezier(.22,.7,.2,1),visibility 0s}
.mobile-nav-top{display:flex;align-items:end;justify-content:space-between;gap:15px;padding:0 0 28px;margin-bottom:30px;border-bottom:1px solid #ffffff25;color:#98a3b1;font:400 27px 'Space Grotesk',sans-serif}
.menu-close{border:0;width:72px;height:72px;border-radius:50%;background:#f4f3ed;color:#080c16;font:300 38px/1 Arial,sans-serif;cursor:pointer;flex-shrink:0}
.nav #navigation>a{display:block;font:400 clamp(36px,10.5vw,48px)/1.2 'Space Grotesk',sans-serif;letter-spacing:-1.8px;padding:12px 15px;margin:0 0 8px;border:0;border-radius:0;text-decoration:none}
.nav #navigation>a[aria-current=page]{color:#dcfa58;text-decoration:none}.nav #navigation>a:hover{color:#dcfa58}.nav #navigation>a:focus-visible{outline-color:#dcfa58;outline-offset:0}
}
@media(prefers-reduced-motion:reduce){.nav #navigation,.nav #navigation.open{transition:none}}

@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.cursor-light{display:block;position:fixed;width:48px;height:48px;top:var(--cursor-y,-200px);left:var(--cursor-x,-200px);transform:translate(-50%,-50%);border:1.5px solid #a4b0bd;border-radius:50%;background:none;opacity:0;pointer-events:none;z-index:150;transition:opacity .2s,width .2s,height .2s,border-color .2s}.cursor-light.tracking{opacity:.85}.cursor-light.over-control{width:58px;height:58px;border-color:#a1ba38}}
@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.cursor-light{display:none!important}}
