:root{--ink:#151515;--paper:#f4f1ea;--orange:#ff5a2f;--acid:#d8ff4f;--lilac:#c8b6ff;--cream:#f7e7c3;--line:rgba(21,21,21,.22);--sans:'DM Sans',sans-serif;--display:'Manrope',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}::selection{background:var(--orange);color:#fff}
.site-header{position:relative;z-index:10}.site-nav{height:100px;padding:0 clamp(24px,4.6vw,72px);display:flex;align-items:center;justify-content:space-between}.wordmark{font-family:var(--display);font-size:clamp(17px,1.6vw,22px);font-weight:600;letter-spacing:-.06em}.wordmark span{font-weight:400}.site-nav ul{display:flex;gap:34px;margin:0;padding:0;list-style:none}.site-nav li a{font-size:14px;border-bottom:1px solid transparent;padding-bottom:4px;transition:border-color .2s}.site-nav li a:hover,.site-nav li a[aria-current=page]{border-color:currentColor}
main{overflow:hidden}.section-pad{padding-left:clamp(24px,4.6vw,72px);padding-right:clamp(24px,4.6vw,72px)}.section-label{font-size:11px;text-transform:uppercase;letter-spacing:.14em;margin:0}.home-hero{min-height:calc(100svh - 100px);position:relative;padding:7vh clamp(24px,4.6vw,72px);display:flex;flex-direction:column;justify-content:space-between}.home-hero h1{font-family:var(--display);font-size:clamp(54px,9.6vw,148px);font-weight:500;letter-spacing:-.075em;line-height:.83;max-width:1200px;margin:5vh 0 7vh;position:relative;z-index:2}.home-hero h1 span{display:block;color:var(--orange);font-style:italic;font-weight:400}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;position:relative;z-index:2}.hero-bottom p{font-size:clamp(17px,1.6vw,22px);max-width:600px;margin:0}.text-link{font-weight:500;border-bottom:1px solid;padding-bottom:5px;white-space:nowrap}.text-link span,.project-arrow,.big-cta span{display:inline-block;transition:transform .25s}.text-link:hover span,.project-card:hover .project-arrow,.big-cta a:hover span{transform:translate(5px,-5px)}
.hero-orbit{position:absolute;right:clamp(24px,5vw,80px);top:34%;width:clamp(150px,21vw,320px);aspect-ratio:1;border-radius:50%;background:var(--acid);display:grid;place-items:center;z-index:1}.orbit-core{position:relative;width:52%;aspect-ratio:1;border-radius:50%;background:var(--ink);color:var(--paper);display:grid;place-items:center;font-size:clamp(26px,4.6vw,64px);letter-spacing:-.08em}.orbit-copy{position:absolute;inset:0;width:100%;height:100%;overflow:visible;animation:spin 26s linear infinite}.orbit-ring{fill:none;stroke:var(--ink);stroke-width:.4;stroke-dasharray:2 2.8;stroke-linecap:round;opacity:.55}.orbit-copy text{font-family:var(--sans);font-size:5.6px;font-weight:500;fill:var(--ink)}@keyframes spin{to{transform:rotate(360deg)}}
.manifesto{padding-top:clamp(100px,16vw,240px);padding-bottom:clamp(100px,16vw,240px);background:var(--ink);color:var(--paper)}.manifesto-copy{font-family:var(--display);font-size:clamp(38px,6.5vw,96px);letter-spacing:-.055em;line-height:1.02;max-width:1250px;margin:clamp(48px,8vh,110px) 0 0;text-wrap:balance}.manifesto-copy em{color:var(--acid);font-weight:400}
.featured{padding-top:100px;padding-bottom:130px}.section-head{display:flex;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:28px}.section-head p{margin:0;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.project-card{display:block}.project-visual{height:min(66vw,760px);min-height:460px;background:var(--orange);position:relative;overflow:hidden;display:grid;place-items:center}.project-visual:before{content:"";position:absolute;top:50%;left:50%;translate:-50% -50%;height:84%;aspect-ratio:1;border:1px solid rgba(255,255,255,.5);border-radius:50%}.ticket{position:absolute;width:clamp(220px,30vw,440px);height:clamp(130px,18vw,250px);background:var(--cream);padding:25px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 25px 50px rgba(0,0,0,.18);transition:transform .55s cubic-bezier(.2,.7,.2,1)}.ticket span,.ticket small{font-size:10px;letter-spacing:.14em}.ticket strong{font-family:var(--display);font-size:clamp(34px,5vw,74px);letter-spacing:-.07em}.ticket--one{transform:translate(-52%,-30%) rotate(-8deg)}.ticket--two{background:var(--acid);text-align:right;transform:translate(54%,32%) rotate(7deg)}.project-card:hover .ticket--one{transform:translate(-57%,-35%) rotate(-11deg)}.project-card:hover .ticket--two{transform:translate(59%,37%) rotate(10deg)}.selection-ring{width:clamp(84px,11.5vw,158px);aspect-ratio:1;background:var(--ink);color:#fff;border-radius:50%;display:grid;place-items:center;z-index:2;font-size:clamp(36px,5.2vw,70px);transition:transform .55s cubic-bezier(.2,.7,.2,1)}.project-card:hover .selection-ring{transform:scale(1.07)}.project-meta{display:flex;justify-content:space-between;align-items:flex-start;padding-top:25px}.project-meta h2{font-family:var(--display);font-size:clamp(34px,4vw,60px);letter-spacing:-.06em;margin:0;display:inline-block;border-bottom:1px solid transparent;transition:border-color .25s}.project-card:hover .project-meta h2{border-color:currentColor}.project-meta p{margin:5px 0 0;color:#555}.project-arrow{font-size:40px}
.capabilities{background:var(--lilac);padding-top:100px;padding-bottom:120px}.capability-list{margin-top:80px;border-top:1px solid}.capability-list>div{display:grid;grid-template-columns:70px 1fr 1fr;align-items:baseline;border-bottom:1px solid;padding:30px 0}.capability-list span{font-size:11px;letter-spacing:.12em;opacity:.6}.capability-list h3{font:500 clamp(34px,5vw,70px)/1 var(--display);letter-spacing:-.06em;margin:0}.capability-list p{margin:0;max-width:380px;text-wrap:pretty}.big-cta{background:var(--acid);padding-top:120px;padding-bottom:130px}.big-cta p{margin:0 0 40px;text-transform:uppercase;letter-spacing:.12em;font-size:11px}.big-cta a{font:500 clamp(50px,9vw,130px)/.9 var(--display);letter-spacing:-.075em;border-bottom:.06em solid}.big-cta a span{font-size:.72em;margin-left:.12em}
.site-footer{padding:45px clamp(24px,4.6vw,72px);display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;background:var(--ink);color:#fff;align-items:end}.site-footer p{margin:0;text-align:center;color:#aaa;font-size:12px}.site-footer>a:last-child{text-align:right;font-size:13px;justify-self:end;border-bottom:1px solid transparent;transition:border-color .2s}.site-footer>a:last-child:hover{border-color:currentColor}
.case-hero{padding-top:8vh;padding-bottom:9vh}.case-hero h1{font:500 clamp(88px,18vw,250px)/.8 var(--display);letter-spacing:-.09em;margin:8vh 0 0}.case-deck{font-size:clamp(20px,2.3vw,34px);line-height:1.25;max-width:760px;margin:9vh 0 0 auto}.case-poster{margin:0 clamp(24px,4.6vw,72px);height:min(70vw,850px);min-height:520px;background:var(--orange);color:#fff;position:relative;overflow:hidden}.poster-mark{position:absolute;font:600 min(74vw,900px)/.75 var(--display);letter-spacing:-.13em;left:-4vw;bottom:-9vw;color:var(--acid)}.poster-copy{position:absolute;top:10%;left:8%;display:flex;flex-direction:column;gap:25px}.poster-copy span{letter-spacing:.15em;font-size:11px}.poster-copy strong{font:500 clamp(38px,6vw,88px)/.95 var(--display);letter-spacing:-.06em}.poster-stamp{position:absolute;right:7%;bottom:8%;width:130px;aspect-ratio:1;border:1px solid;border-radius:50%;display:grid;place-items:center;text-align:center;font-size:11px;letter-spacing:.14em;line-height:1.5;transform:rotate(10deg);border-color:rgba(255,255,255,.85);background:rgba(21,21,21,.14);backdrop-filter:blur(2px)}.case-summary{display:grid;grid-template-columns:1fr 2fr 2fr;gap:5vw;padding-top:130px;padding-bottom:150px}.case-summary p:not(.section-label){font-size:clamp(18px,2vw,28px);line-height:1.35;margin:0}.story-block{min-height:760px;padding:clamp(70px,8vw,120px) clamp(24px,4.6vw,72px);display:grid;grid-template-columns:minmax(300px,.85fr) 1.2fr;gap:7vw;align-items:center}.story-block--lilac{background:var(--lilac)}.story-block--cream{background:var(--cream)}.story-block--ink{background:var(--ink);color:#fff}.story-copy h2{font:500 clamp(48px,6.5vw,96px)/.92 var(--display);letter-spacing:-.07em;margin:55px 0 35px}.story-copy>p:last-child{max-width:510px;font-size:18px}.ui-stage{background:#f8f6f0;border:1px solid var(--ink);border-radius:14px;box-shadow:18px 18px 0 var(--ink);padding:28px;color:var(--ink);transform:rotate(2deg)}.ui-top{display:flex;gap:7px;border-bottom:1px solid #bbb;padding-bottom:18px}.ui-top i{width:9px;height:9px;border:1px solid;border-radius:50%}.calendar-title{font-size:30px;margin:38px 0 28px}.calendar-title b{color:#888;font-weight:400}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;text-align:center}.calendar-grid span{font-size:10px}.calendar-grid i{font-style:normal;padding:12px 4px}.calendar-grid .active{background:var(--orange);color:white;border-radius:50%}.event-chip{margin-top:26px;padding:20px;background:var(--acid);display:flex;justify-content:space-between}.flow-visual{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}.flow-visual div{width:190px;aspect-ratio:1;border:1px solid;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;font:500 26px var(--display)}.flow-visual span{font:400 11px var(--sans);margin-top:8px}.flow-visual>b{font-size:24px}.audit-orbit{display:grid;place-items:center}.audit-ring{width:min(42vw,520px);min-width:320px;aspect-ratio:1;border:1px solid #777;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;box-shadow:0 0 0 55px rgba(216,255,79,.04),0 0 0 110px rgba(216,255,79,.025)}.audit-ring span{color:var(--acid);letter-spacing:.16em;font-size:11px}.audit-ring strong{font:500 clamp(80px,12vw,170px)/1 var(--display);letter-spacing:-.08em}.audit-ring small{color:#aaa}.case-next{padding-top:130px;padding-bottom:140px;background:var(--orange);color:#fff}.case-next p{font-size:12px;text-transform:uppercase;letter-spacing:.12em}.case-next a{display:flex;justify-content:space-between;align-items:end;font:500 clamp(42px,7vw,102px)/.95 var(--display);letter-spacing:-.07em;margin-top:60px;border-bottom:1px solid;padding-bottom:20px}
.contact-main{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding-top:8vh;padding-bottom:100px}.contact-title h1{font:500 clamp(58px,8vw,118px)/.88 var(--display);letter-spacing:-.075em;margin:45px 0}.contact-title h1 em{color:var(--orange);font-weight:400}.contact-title>p:last-child{font-size:19px;max-width:480px}.contact-main form{padding-top:50px}.contact-main label{display:block;border-top:1px solid;padding:24px 0 38px}.contact-main label span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:10px;margin-bottom:26px}.contact-main input,.contact-main textarea{display:block;width:100%;border:0;background:transparent;color:var(--ink);font:400 clamp(22px,2.5vw,36px) var(--display);outline:0}.contact-main textarea{min-height:140px;resize:vertical}.contact-main input::placeholder,.contact-main textarea::placeholder{color:#999}.form-end{border-top:1px solid;padding-top:30px;display:flex;align-items:center;gap:30px}.form-end button{border:0;background:var(--ink);color:#fff;border-radius:50%;width:150px;aspect-ratio:1;cursor:pointer;transition:background .2s,transform .2s}.form-end button:hover{background:var(--orange);transform:rotate(-5deg)}#form-note{font-size:13px}.contact-details{grid-column:1/-1;border-top:1px solid;padding-top:30px;margin-top:50px}.contact-details a{display:inline-block;font:500 clamp(28px,5vw,70px) var(--display);letter-spacing:-.05em;margin-top:35px;border-bottom:2px solid}
.skip-link{position:absolute;left:12px;top:12px;z-index:100;background:var(--ink);color:var(--paper);padding:11px 18px;border-radius:6px;font-size:13px;transform:translateY(-200%);transition:transform .2s}.skip-link:focus{transform:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--orange);outline-offset:4px;border-radius:2px}.manifesto a:focus-visible,.story-block--ink a:focus-visible,.site-footer a:focus-visible,.case-next a:focus-visible{outline-color:var(--acid)}.contact-main label{transition:border-color .2s}.contact-main label.is-invalid{border-color:var(--orange)}.contact-main :user-invalid{color:var(--orange)}.contact-main :user-invalid::placeholder{color:rgba(255,90,47,.55)}#form-note:not(:empty){border-left:2px solid var(--orange);padding-left:12px}
.notfound{min-height:calc(100svh - 100px);display:flex;flex-direction:column;justify-content:center;padding-top:10vh;padding-bottom:10vh}.notfound h1{font:500 clamp(52px,8.6vw,132px)/.88 var(--display);letter-spacing:-.075em;margin:38px 0 0}.notfound h1 em{color:var(--orange);font-weight:400}.notfound-copy{font-size:clamp(17px,1.6vw,22px);max-width:560px;margin:40px 0 0}.notfound-links{display:flex;flex-wrap:wrap;gap:16px 34px;margin-top:64px}
@media(max-width:800px){.site-nav{height:78px}.home-hero{min-height:calc(100svh - 78px);padding-top:4vh}.home-hero h1{font-size:clamp(50px,15vw,90px);margin-top:12vh}.hero-orbit{width:clamp(120px,30vw,160px);top:auto;bottom:16vh;right:-26px;opacity:.95}.hero-bottom{align-items:flex-start;flex-direction:column}.capability-list>div{grid-template-columns:45px 1fr}.capability-list p{grid-column:2;margin-top:12px}.site-footer{grid-template-columns:1fr 1fr}.site-footer p{display:none}.case-summary{grid-template-columns:1fr}.story-block{grid-template-columns:1fr;min-height:0}.story-copy h2{margin-top:35px}.contact-main{grid-template-columns:1fr}.contact-main form{padding-top:10px}}@media(max-width:520px){.site-nav ul{gap:18px}.hero-orbit{width:108px;bottom:19vh;right:-18px}.project-visual{min-height:410px}.ticket{width:220px;height:135px;padding:17px}.ticket--one{transform:translate(-26%,-25%) rotate(-8deg)}.ticket--two{transform:translate(26%,28%) rotate(7deg)}.site-footer{display:flex;flex-direction:column;align-items:flex-start}.site-footer>a:last-child{text-align:left}.case-poster{margin:0;height:600px}.poster-stamp{width:90px}.case-summary{padding-top:80px;padding-bottom:90px}.story-block{padding-top:80px;padding-bottom:90px}.flow-visual{flex-direction:column}.flow-visual>b{transform:rotate(90deg)}.audit-ring{min-width:270px}.contact-main{padding-top:5vh}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.orbit-copy{animation:none}*{transition:none!important}}
