@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f5f3ec;--ink:#242620;--orange:#f34e27;--line:#d4d4c9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}header{height:98px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:30px}.logo{font-family:'Manrope',Arial,sans-serif;font-size:31px;letter-spacing:-1.8px;font-weight:800}.logo span{font-weight:500}.logo i{color:var(--orange);font-style:normal;margin-left:7px;font-size:33px}nav{display:flex;gap:35px;font-size:14px}nav a:hover,.text-link:hover{color:var(--orange)}.small-cta{font-size:14px;border:1px solid var(--ink);border-radius:40px;padding:12px 20px}.small-cta span{margin-left:35px}#menu{display:none}.section{padding:100px 6%}.hero{padding:55px 6% 0;overflow:hidden}.eyebrow{font-size:11px;letter-spacing:1.6px;font-weight:600;display:flex;align-items:center;gap:10px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--orange)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Manrope',Arial,sans-serif;font-weight:500;letter-spacing:-.065em;line-height:1.02}h1{font-size:clamp(68px,9.9vw,156px);margin:40px 0 30px;position:relative;max-width:1180px}h1>span:not(.hero-star){color:var(--orange)}.hero-star{position:absolute;font-size:260px;right:3%;top:55px;color:var(--orange);line-height:1;animation:turn 40s linear infinite}.hero-bottom{display:flex;align-items:center;gap:5%;padding:0 0 50px}.hero-bottom p{max-width:330px;font-size:16px;line-height:1.6;margin:0}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--orange);color:#fff;padding:19px 25px;border:0;border-radius:50px;font-size:14px;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#c43616;transform:translateY(-2px)}.button span{font-size:23px}.scroll{margin-left:auto;font-size:10px;letter-spacing:1px;white-space:nowrap}.hero-line{padding:20px 0;border-top:1px solid var(--line);font-size:10px;letter-spacing:2px}.ticker{background:var(--orange);color:var(--paper);padding:20px 0;display:flex;justify-content:space-around;align-items:center;gap:28px;font-size:28px;overflow:hidden;white-space:nowrap}.ticker span{font-size:15px;letter-spacing:2px}.section-top{display:flex;justify-content:space-between;align-items:start;gap:30px;margin-bottom:36px}.section-top>p{font-size:15px;line-height:1.5}.section-top>span:last-child:not(:first-child){font-size:10px;letter-spacing:1px}h2{font-size:clamp(46px,5.5vw,82px);margin-bottom:45px}em{font-style:normal;color:var(--orange)}.projects{display:grid;grid-template-columns:1fr 1fr;gap:50px 30px}.project-image{height:390px;position:relative;overflow:hidden;padding:45px 38px 0;display:flex;align-items:flex-start}.peach{background:#e8c8b1}.sage{background:#d6ded4}.lilac{background:#dfdced}.browser{border-radius:9px 9px 0 0;background:white;width:100%;box-shadow:0 15px 40px #24262025;overflow:hidden;transition:transform .5s}.browserbar{height:24px;background:#fcfcfc;display:flex;align-items:center;gap:4px;padding:0 9px}.browserbar i{width:4px;height:4px;background:#c9c9c9;border-radius:100%}.browserbar span{font-size:7px;color:#666;position:absolute;left:42%;letter-spacing:1px}.browser img{width:100%;display:block}.project:hover .browser{transform:translateY(-9px)}.project-arrow{position:absolute;bottom:16px;right:16px;border-radius:100%;background:var(--paper);width:42px;height:42px;display:grid;place-items:center;font-size:24px}.project-title{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:20px}.project h3{font-size:22px;font-weight:500;margin-bottom:9px;letter-spacing:-.6px}.project-title span{font-size:9px;letter-spacing:.8px}.project>p{color:#5d5f56;line-height:1.6;font-size:13px;max-width:480px}.wide{grid-column:1/-1}.wide .project-image{height:430px;padding:45px 50px 0;gap:10%;align-items:center}.wide .browser{width:58%;align-self:flex-start}.project-note{width:32%}.project-note span{font-size:9px;letter-spacing:1.5px}.project-note h3{font-size:44px;line-height:1.1;letter-spacing:-2px;margin:25px 0 35px}.services{background:#252820;color:var(--paper)}.services .section-top{color:#bbbfb0}.service-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:10%;margin-top:60px}.service-layout>div>p{font-size:15px;line-height:1.8;color:#c2c4b9;max-width:310px}.text-link{display:inline-block;margin-top:20px;padding-bottom:8px;border-bottom:1px solid #8d9183;font-size:14px}.service-layout details{border-top:1px solid #505346}.service-layout details:last-child{border-bottom:1px solid #505346}summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 0;font-size:22px;letter-spacing:-.5px}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:26px;font-weight:400}details[open]>summary:after{content:'−'}.num{font-size:10px;letter-spacing:0;color:#a7aa9b;margin-right:22px}.service-layout details p{font-size:14px;line-height:1.7;color:#c2c4b9;padding-left:39px;max-width:460px}.tags{color:#eee!important;font-size:11px!important;padding-bottom:10px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%}.large{font-size:27px;letter-spacing:-.6px;line-height:1.4}.about-grid p:not(.large){font-size:15px;line-height:1.8;color:#66685f}.values{margin-top:35px}.values>div{border-top:1px solid var(--line);padding-top:17px}.values b{font-size:14px;font-weight:500}.values p{margin:7px 0 20px}.process{background:#eae9e0}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:70px}.steps article{border-top:1px solid #b8bbac;padding-top:20px}.steps span{font-size:12px;color:var(--orange)}.steps h3{font-size:27px;letter-spacing:-1px;font-weight:500;margin:45px 0 15px}.steps p{font-size:14px;line-height:1.8;color:#65685b}.faq{display:grid;grid-template-columns:1fr 1.3fr;gap:10%;padding-top:75px;padding-bottom:75px}.faq details{border-bottom:1px solid var(--line)}.faq details:first-child{border-top:1px solid var(--line)}.faq summary{font-size:18px;padding:24px 0}.faq p{font-size:14px;line-height:1.8;max-width:520px;color:#62665b}.contact{background:#dfedcb}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:12%;margin-top:45px}.contact h2{font-size:clamp(48px,5.5vw,82px);margin-bottom:30px}.contact-grid>div>p{line-height:1.7;color:#535d48}.email{font-size:23px;letter-spacing:-.8px;display:block;margin:50px 0 15px}.phone{display:block;font-size:17px;margin-bottom:35px}.contact-grid>div>span{font-size:10px;letter-spacing:1px}form h3{font-size:20px;font-weight:500;letter-spacing:-.5px;margin-bottom:27px}label{display:block;font-size:11px;letter-spacing:.4px;margin-bottom:20px}input,select,textarea{display:block;width:100%;border:0;border-bottom:1px solid #a8b698;background:transparent;border-radius:0;padding:13px 0;color:var(--ink);font-size:14px;outline-offset:4px}textarea{resize:vertical}form .button{width:100%}.form-note{font-size:10px;line-height:1.5;color:#525e46;margin-top:12px}footer{padding:55px 6% 20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px}footer>p{font-size:13px;margin:0}footer>a:last-of-type{font-size:10px;letter-spacing:1px}.footer-bottom{width:100%;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;margin-top:30px;font-size:9px;letter-spacing:.6px}.skip{position:fixed;top:-100px;left:20px;background:white;padding:15px;z-index:10}.skip:focus{top:10px}@keyframes turn{to{transform:rotate(360deg)}}@media(min-width:1600px){body{max-width:1600px;margin:auto}}@media(max-width:1000px){.hero-star{font-size:190px;right:0;top:55px}.hero-bottom{gap:25px;flex-wrap:wrap}.scroll{display:none}.project-image{height:300px;padding:30px 20px 0}.project-title{display:block}.wide .project-image{height:350px}.project-note h3{font-size:32px}.service-layout{gap:6%}summary{font-size:19px}.contact-grid{gap:6%}.email{font-size:19px}.section-top>span:last-child:not(:first-child){max-width:230px;text-align:right}}@media(max-width:650px){header{height:78px;padding:0 6%;gap:15px}.logo{font-size:25px}.logo i{font-size:25px}.small-cta{padding:9px 14px;font-size:12px;margin-left:auto}.small-cta span{margin-left:10px}#menu{display:block;background:none;border:0;font-size:22px;padding:5px}nav{display:none;position:absolute;top:78px;left:0;right:0;padding:25px 6%;background:var(--paper);z-index:5;border-bottom:1px solid var(--line)}nav.open{display:flex;flex-direction:column;gap:20px}.hero{padding-top:35px}.hero .eyebrow{font-size:8px;letter-spacing:1px}h1{font-size:clamp(56px,12.3vw,80px);margin-top:35px;line-height:1.05}.hero-star{font-size:92px;top:60px;right:0}.hero-bottom{display:block}.hero-bottom p{max-width:300px;font-size:14px;margin-bottom:25px}.hero-line{font-size:8px;letter-spacing:1px}.ticker{justify-content:start;padding:15px 20px;font-size:22px}.ticker span{font-size:12px}.section{padding:65px 6%}.section-top{margin-bottom:30px}.section-top>p{font-size:12px}.section-top>span:last-child:not(:first-child){display:none}.eyebrow{font-size:9px;letter-spacing:1px}h2{font-size:48px;margin-bottom:30px}.projects{grid-template-columns:1fr;gap:30px}.project-image{height:310px;padding:30px 25px 0}.project-title{display:flex;flex-wrap:wrap;gap:0}.project h3{font-size:20px}.project-title span{font-size:8px}.wide{grid-column:auto}.wide .project-image{height:320px;padding:30px 25px 0;align-items:start}.wide .browser{width:100%}.project-note{display:none}.service-layout,.about-grid,.contact-grid{grid-template-columns:1fr;gap:30px;margin-top:30px}.service-layout h2 br:nth-child(2){display:none}.service-layout>div>p{max-width:100%}summary{font-size:20px;padding:23px 0}.num{margin-right:12px}.service-layout details p{padding-left:27px}.about-grid{gap:0}.large{font-size:24px}.steps{grid-template-columns:1fr 1fr;gap:25px;margin-top:40px}.steps h3{margin-top:25px;font-size:24px}.steps p{font-size:13px}.faq{grid-template-columns:1fr;gap:25px}.faq summary{font-size:16px}.contact h2{font-size:53px}.email{margin-top:30px;font-size:22px}.contact-grid{gap:45px}footer{padding-top:35px}footer>p{display:none}.footer-bottom{gap:20px;line-height:1.5}.footer-bottom span:last-child{max-width:140px;text-align:right}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.portfolio-link-row{border-top:1px solid var(--line);padding-top:30px;margin-top:40px;display:flex;align-items:center;justify-content:space-between;gap:25px}.portfolio-link-row p{margin:0;color:#65685d;font-size:14px}.portfolio-intro{padding-top:40px;padding-bottom:65px}.back-link{display:inline-block;font-size:12px;margin-bottom:50px}.portfolio-intro h1{font-size:clamp(58px,8.5vw,130px);margin:35px 0}.portfolio-lede{display:flex;justify-content:space-between;align-items:end;gap:30px}.portfolio-lede p{font-size:19px;line-height:1.6;max-width:500px;margin:0}.portfolio-lede>span{font-size:10px;letter-spacing:1px}.project-index{display:grid;grid-template-columns:repeat(3,1fr);gap:0 30px;margin-top:55px}.project-index a{border-top:1px solid var(--line);padding:17px 0;font-size:13px;display:flex;gap:12px}.project-index span{font-size:10px;color:var(--orange)}.project-index a:hover{color:var(--orange)}.case{border-top:1px solid var(--line);padding-top:65px;padding-bottom:70px}.case:nth-child(even){background:#eae9e0}.case-heading h2{font-size:clamp(38px,4.6vw,68px);margin:20px 0 35px}.case-content{display:grid;grid-template-columns:1fr 1.8fr;gap:10%;margin-bottom:40px}.case-content h3{font-size:13px;font-weight:600;margin-bottom:18px}.case-content ul{list-style:none;padding:0;margin:0}.case-content li{font-size:13px;line-height:1.7;padding:6px 0;border-bottom:1px solid var(--line)}.case-story p{font-size:16px;line-height:1.9;color:#555b4d}.case-story .archive-context{font-size:12px;font-style:italic}.archive-label{display:inline-block;border:1px solid #9b9c8e;padding:9px 12px;border-radius:30px;font-size:8px;letter-spacing:.7px;margin-top:23px;line-height:1.5}.historical-url{font-size:11px;color:#6b6e62;line-height:1.8;overflow-wrap:anywhere;margin-top:15px}.case-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;background:#deded3;padding:30px}.case:nth-child(3n+1) .case-gallery{background:#e8c8b1}.case:nth-child(3n+2) .case-gallery{background:#d6ded4}.case:nth-child(3n) .case-gallery{background:#dfdced}.case-gallery a{display:flex;flex-direction:column;align-items:center;min-width:0}.case-gallery img{display:block;width:100%;height:auto;object-fit:contain;box-shadow:0 8px 25px #24262018;transition:transform .3s}.case-gallery a:hover img{transform:translateY(-4px)}.case-gallery a>span{font-size:9px;letter-spacing:1px;margin-top:17px}.portfolio-contact h2{margin-top:30px}.portfolio-page nav a[aria-current=page]{color:var(--orange)}@media(max-width:650px){.portfolio-link-row,.portfolio-lede{display:block}.portfolio-link-row p{margin-bottom:20px}.portfolio-intro{padding-top:25px}.back-link{margin-bottom:35px}.portfolio-intro h1{font-size:13vw}.portfolio-lede p{font-size:16px}.portfolio-lede>span{display:block;margin-top:22px;font-size:8px}.project-index{display:grid;position:static;background:none;padding:0;border:0;grid-template-columns:1fr 1fr;gap:0 20px;margin-top:35px}.project-index a{font-size:11px;line-height:1.6;gap:8px}.case-content{grid-template-columns:1fr;gap:25px}.case-story p{font-size:14px;line-height:1.8}.case-gallery{padding:18px;gap:22px;grid-template-columns:1fr}.case-gallery img{height:auto}.case-heading h2{font-size:40px}.case{padding-top:45px;padding-bottom:45px}.portfolio-contact h2{font-size:44px}}
header{position:sticky;top:0;z-index:100;background:var(--paper)}

.case-gallery{align-items:start}.case-gallery .screenshot-landscape{grid-column:1/-1}
.philosophy{background:var(--ink);color:var(--paper);position:relative}.philosophy h2.eyebrow{font-size:12px;letter-spacing:2px;font-weight:500;margin:0 0 34px;text-transform:uppercase;color:var(--orange)}.philosophy figure{margin:0;max-width:1120px}.philosophy-mark{display:block;font-family:Georgia,serif;font-size:100px;line-height:.8;color:var(--orange);height:65px}.philosophy blockquote{margin:0}.philosophy blockquote p{font-size:clamp(25px,3.2vw,46px);line-height:1.4;font-weight:400;letter-spacing:-.8px;margin:0}.philosophy figcaption{margin-top:30px;font-size:16px;color:var(--paper)}@media(max-width:650px){.philosophy blockquote p{letter-spacing:-.4px}.philosophy h2.eyebrow{margin-bottom:28px}}
.zero-cost{background:var(--orange);color:var(--ink);display:grid;grid-template-columns:1.15fr 1fr;gap:7%;align-items:center}.zero-cost h2{font-size:clamp(42px,5vw,76px);line-height:1.07;letter-spacing:-3px;margin:25px 0 0}.zero-cost h2 span{display:inline-block;margin-top:12px;color:var(--paper)}.zero-cost-copy p{font-size:17px;line-height:1.8;margin:0 0 18px}.zero-cost-copy .button{margin-top:12px;background:var(--ink);color:var(--paper);border-color:var(--ink)}.zero-cost-copy .button:hover{background:var(--paper);color:var(--ink)}@media(max-width:800px){.zero-cost{grid-template-columns:1fr;gap:30px}.zero-cost h2{letter-spacing:-2px}.zero-cost-copy .button{max-width:100%}}
.form-honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}#brief button:disabled{opacity:.6;cursor:wait}
.phone-fieldset{border:0;padding:0;margin:0 0 22px;min-width:0}.phone-fieldset legend{font-size:12px;padding:0;margin-bottom:8px}.phone-fieldset legend span{opacity:.65}.phone-fields{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:14px}.phone-fields label{min-width:0;margin-bottom:0!important;font-size:11px}.phone-fields select,.phone-fields input{width:100%;min-width:0;box-sizing:border-box}.phone-fields select{font-size:13px}@media(max-width:420px){.phone-fields{grid-template-columns:1fr;gap:12px}}
