:root{--paper:oklch(96% .024 84);--paper-deep:oklch(91% .033 80);--ink:oklch(25% .03 67);--muted:oklch(48% .028 67);--line:oklch(25% .03 67/.18);--dark:oklch(25% .03 67);--dark-soft:oklch(31% .028 68);--cream:oklch(95% .02 84);--accent:oklch(76% .13 54);--serif:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;--sans:"Avenir Next", "Segoe UI", Helvetica, sans-serif;--max-width:1440px;--gutter:clamp(1.35rem, 4vw, 4.75rem);--ease:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);scroll-behavior:smooth}body{background:var(--paper);min-width:320px;font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.55}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button,input,textarea,select{font:inherit}::selection{background:var(--ink);color:var(--paper)}:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.site-shell{overflow:clip}.container{width:min(var(--max-width), calc(100% - (var(--gutter) * 2)));margin-inline:auto}.skip-link{z-index:100;background:var(--ink);color:var(--paper);padding:.75rem 1rem;transition:transform .18s;position:fixed;top:1rem;left:1rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.eyebrow{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:.6rem;margin:0;font-size:.68rem;font-weight:700;line-height:1.3;display:flex}.eyebrow span{color:color-mix(in oklab, var(--muted), transparent 25%)}.eyebrow-dot{background:var(--accent);border-radius:50%;width:.4rem;height:.4rem;display:block}.eyebrow--light,.eyebrow--light span{color:color-mix(in oklab, var(--cream), transparent 36%)}h1,h2,h3,p{margin-block-start:0}h1,h2,h3{letter-spacing:-.055em;font-weight:400}h1,h2{font-family:var(--serif);line-height:.92}h1 em,h2 em{color:color-mix(in oklab, var(--ink), transparent 25%);font-style:italic}.section{padding-block:clamp(5rem,10vw,10.5rem)}.site-header{z-index:20;padding-block:1.7rem;position:relative}.header-inner{justify-content:space-between;align-items:flex-start;display:flex}.wordmark{font-family:var(--serif);letter-spacing:-.06em;flex-direction:column;font-size:1.22rem;font-weight:700;line-height:.72;display:flex}.wordmark span:last-child{margin-left:.86rem}.primary-navigation{align-items:center;gap:clamp(1.5rem,3vw,3rem);font-size:.75rem;font-weight:650;display:flex}.primary-navigation>a:not(.nav-cta){color:var(--muted);padding-block:.3rem;position:relative}.primary-navigation>a:not(.nav-cta):after{background:var(--ink);content:"";transform-origin:100%;height:1px;transition:transform .24s var(--ease);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.primary-navigation>a:not(.nav-cta):hover,.primary-navigation>a:not(.nav-cta).active{color:var(--ink)}.primary-navigation>a:not(.nav-cta):hover:after,.primary-navigation>a:not(.nav-cta).active:after{transform-origin:0;transform:scaleX(1)}.nav-cta{background:var(--ink);color:var(--paper);align-items:center;gap:.55rem;padding:.72rem .9rem .72rem 1rem;font-size:.7rem;transition:background .18s,transform .18s;display:inline-flex}.nav-cta:hover{background:var(--dark-soft);transform:translateY(-2px)}.menu-toggle{color:var(--ink);cursor:pointer;background:0 0;border:0;display:none}.hero{grid-template-columns:minmax(0,1.08fr) minmax(20rem,.92fr);min-height:min(760px,100vh - 5rem);padding-top:clamp(4.6rem,12vw,10.8rem);padding-bottom:clamp(5rem,10vw,9rem);display:grid}.hero-copy{z-index:2;position:relative}.hero-eyebrow{margin-bottom:clamp(2.2rem,5vw,4.9rem)}.hero h1{letter-spacing:-.075em;max-width:8.3ch;margin-bottom:clamp(2.5rem,5vw,4.4rem);font-size:clamp(4.6rem,9.8vw,9.6rem)}.hero-intro{align-items:flex-start;gap:clamp(2rem,6vw,7rem);max-width:38rem;margin-left:clamp(0rem,8vw,8.5rem);display:flex}.hero-intro p{max-width:19rem;color:var(--muted);margin-bottom:0;font-size:.95rem}.text-link{border-bottom:1px solid var(--ink);transition:gap .18s var(--ease), color .18s ease;flex-shrink:0;align-items:center;gap:.8rem;padding-bottom:.42rem;font-size:.75rem;font-weight:700;display:inline-flex}.text-link:hover{color:var(--muted);gap:1.15rem}.hero-art{min-height:32rem;margin-top:-3rem;position:relative}.hero-art:before{aspect-ratio:1;background:var(--accent);content:"";opacity:.96;border-radius:50%;width:68%;position:absolute;top:9%;left:18%}.hero-orbit{z-index:1;aspect-ratio:1;border:1px solid var(--ink);border-radius:50%;width:84%;position:absolute;top:4%;left:10%;transform:rotate(-22deg)scaleY(.42)}.hero-orbit--inner{border-color:var(--paper);width:52%;top:22%;left:26%;transform:rotate(35deg)scaleY(.42)}.hero-star{z-index:2;color:var(--paper);font-size:clamp(4rem,8vw,8rem);line-height:1;position:absolute;top:22%;left:44%;transform:rotate(10deg)}.hero-art-label{z-index:2;color:var(--ink);font-family:var(--serif);margin:0;font-size:clamp(1.2rem,2vw,1.75rem);font-style:italic;line-height:.95;position:absolute;top:48%;left:16%;transform:rotate(-9deg)}.hero-art-caption{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.63rem;line-height:1.5;position:absolute;bottom:3%;right:2%}.ticker{border-block:1px solid var(--line);background:var(--paper-deep);overflow:hidden}.ticker-track{align-items:center;gap:clamp(1.7rem,4vw,5rem);width:max-content;padding-block:1.1rem;animation:32s linear infinite ticker;display:flex}.ticker-track span{font-family:var(--serif);white-space:nowrap;align-items:center;gap:clamp(1.7rem,4vw,5rem);font-size:clamp(1.25rem,2vw,1.7rem);font-style:italic;display:inline-flex}.ticker-track b{font-family:var(--sans);font-size:.9rem;font-style:normal}@keyframes ticker{to{transform:translate(-50%)}}.section-heading{justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:clamp(3.5rem,7vw,7rem);display:flex}.section-heading h2,.home-cta h2{margin:1.1rem 0 0;font-size:clamp(4.1rem,8.4vw,8.2rem)}.section-note{max-width:17rem;color:var(--muted);margin:0 4vw 0 0;font-size:.84rem}.section-action{justify-content:flex-end;margin-top:3.4rem;display:flex}.project-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:start;gap:clamp(2.4rem,6vw,7.5rem) clamp(1.25rem,3vw,3rem);display:grid}.project-card{min-width:0;display:block}.project-card--featured{grid-row:span 2}.project-art{background:var(--project-soft);isolation:isolate;min-height:21rem;position:relative;overflow:hidden}.project-card--featured .project-art{min-height:clamp(28rem,50vw,48rem)}.project-art:after{z-index:-1;background-image:linear-gradient(var(--ink) 1px, transparent 1px), linear-gradient(90deg, var(--ink) 1px, transparent 1px);content:"";opacity:.09;background-position:50%;background-size:4rem 4rem;position:absolute;inset:0}.art-shape{background:var(--project-accent);transition:transform .8s var(--ease);display:block;position:absolute}.project-card:hover .art-shape,.project-card:focus-visible .art-shape{transform:rotate(8deg)scale(1.05)}.art-shape--one{aspect-ratio:1;border-radius:50%;width:50%;top:12%;left:17%}.art-shape--two{opacity:.72;border-radius:100% 0 0 100%;width:46%;height:9%;bottom:10%;right:12%;transform:rotate(-36deg)}.art-shape--three{background:var(--ink);opacity:.4;width:1px;height:85%;top:8%;right:15%;transform:rotate(34deg)}.art-mark{color:var(--ink);letter-spacing:.12em;font-size:.65rem;font-weight:700;position:absolute;bottom:.9rem;right:1.1rem}.project-art--ripple .art-shape--one{box-shadow:0 0 0 2rem var(--project-soft), 0 0 0 2.08rem var(--ink), 0 0 0 4.1rem var(--project-soft), 0 0 0 4.18rem var(--ink)}.project-art--columns .art-shape--one{width:13%;height:100%;box-shadow:5rem 0 var(--project-accent), 10rem 0 color-mix(in oklab, var(--project-accent), var(--project-soft) 35%);border-radius:0;top:0;left:18%}.project-art--columns .art-shape--two{border-radius:50% 50% 0 0;width:35%;height:33%;bottom:19%;right:18%}.project-art--orb .art-shape--one{aspect-ratio:1;width:56%;box-shadow:inset 3rem 3rem color-mix(in oklab, var(--paper), transparent 70%);border-radius:50%;top:22%;left:22%}.project-art--orb .art-shape--two{background:var(--ink);width:56%;height:1px;bottom:14%;right:22%;transform:rotate(-25deg)}.project-meta{justify-content:space-between;align-items:flex-start;gap:1rem;padding-top:1rem;display:flex}.project-meta p{margin:0}.project-client{font-family:var(--serif);letter-spacing:-.035em;font-size:1.2rem}.project-category{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.65rem;margin-top:.25rem!important}.project-arrow{transition:transform .18s var(--ease);font-size:1.2rem}.project-card:hover .project-arrow{transform:translate(3px,-3px)}.project-card h3{max-width:13ch;font-family:var(--serif);margin:1.5rem 0 0;font-size:clamp(2rem,3.6vw,3.5rem);line-height:.95}.section--dark{background:var(--dark);color:var(--cream)}.approach{position:relative}.approach:before{aspect-ratio:1;border:1px solid color-mix(in oklab, var(--cream), transparent 86%);content:"";pointer-events:none;border-radius:50%;width:35vw;max-width:32rem;position:absolute;top:10%;right:-3%}.approach-grid{grid-template-columns:1fr 1fr;gap:5vw;display:grid}.approach h2{max-width:8ch;color:var(--cream);margin:1.2rem 0 0;font-size:clamp(4rem,8vw,8rem)}.approach h2 em{color:color-mix(in oklab, var(--cream), transparent 35%)}.approach-body{padding-top:4.5rem}.lead{max-width:30rem;color:color-mix(in oklab, var(--cream), transparent 22%);font-family:var(--serif);letter-spacing:-.035em;margin-bottom:clamp(4rem,8vw,7rem);font-size:clamp(1.4rem,2.4vw,2.1rem);line-height:1.05}.service-list{border-top:1px solid color-mix(in oklab, var(--cream), transparent 70%)}.service-row{border-bottom:1px solid color-mix(in oklab, var(--cream), transparent 70%);color:color-mix(in oklab, var(--cream), transparent 13%);grid-template-columns:2rem 1fr auto;gap:1rem;padding-block:1rem;font-size:.83rem;display:grid}.service-row span:first-child{color:color-mix(in oklab, var(--cream), transparent 52%);font-size:.65rem}.home-cta{min-height:45rem;padding-bottom:clamp(7rem,14vw,13rem)}.home-cta h2{max-width:8ch;margin-bottom:clamp(2.5rem,6vw,5rem)}.button{transition:gap .18s var(--ease), transform .18s ease;align-items:center;gap:1.25rem;padding:1rem 1.1rem 1rem 1.25rem;font-size:.75rem;font-weight:700;display:inline-flex}.button:hover{gap:1.55rem;transform:translateY(-2px)}.button--dark{background:var(--ink);color:var(--paper)}.page-intro{padding-top:clamp(7rem,14vw,13rem);padding-bottom:clamp(5rem,10vw,9rem)}.page-intro h1{max-width:9ch;margin:2rem 0 0;font-size:clamp(4.5rem,10vw,10rem)}.page-intro__summary{max-width:22rem;color:var(--muted);margin:clamp(3rem,7vw,6rem) 0 0 clamp(0rem,19vw,19rem);font-size:.95rem}.work-index{padding-top:0}.project-index-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(4rem,10vw,10rem) clamp(1.25rem,4vw,4rem);display:grid}.project-index-grid .project-card--featured{grid-column:span 2;grid-template-columns:minmax(0,1.3fr) minmax(14rem,.7fr);align-items:end;gap:clamp(1rem,3vw,3rem);display:grid}.project-index-grid .project-card--featured .project-meta{grid-area:1/2}.project-index-grid .project-card--featured .project-art{grid-area:1/1/span 2}.project-index-grid .project-card--featured h3{grid-area:2/2;margin-bottom:0}.case-header{padding-top:clamp(4rem,9vw,8rem);padding-bottom:clamp(4rem,8vw,8rem)}.back-link{color:var(--muted);margin-bottom:clamp(4rem,8vw,7rem);font-size:.72rem;font-weight:700;transition:color .18s,transform .18s;display:inline-flex}.back-link:hover{color:var(--ink);transform:translate(-4px)}.case-header__title h1{max-width:10ch;margin:1.4rem 0 0;font-size:clamp(4.1rem,9vw,9rem)}.case-header__meta{grid-template-columns:1fr 1fr;gap:3rem;max-width:33rem;margin:3rem 0 0 clamp(0rem,18vw,18rem);display:grid}.case-header__meta>p{color:var(--muted);margin:0;font-size:.88rem}.case-deliverables{color:var(--muted);flex-direction:column;gap:.5rem;font-size:.7rem;display:flex}.case-deliverables span:before{color:var(--ink);content:"—";margin-right:.5rem}.case-art{min-height:clamp(22rem,58vw,52rem)}.case-art .art-shape--one{width:44%;top:13%;left:25%}.case-art .art-shape--two{bottom:13%;right:21%}.case-art .art-shape--three{right:31%}.case-story{grid-template-columns:1fr 2fr;gap:7vw;display:grid}.case-story__label{border-top:1px solid var(--line);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-self:start;padding-top:.3rem;font-size:.68rem;font-weight:700;display:flex}.case-story__content h2{max-width:14ch;margin:0 0 3rem;font-size:clamp(2.5rem,5vw,5.5rem)}.case-story__content p{max-width:31rem;color:var(--muted);font-family:var(--serif);letter-spacing:-.025em;font-size:clamp(1.3rem,2vw,1.75rem);line-height:1.15}.about-statement{position:relative}.about-statement:after{background:var(--accent);content:"";border-radius:50%;width:8rem;height:8rem;position:absolute;bottom:-3rem;right:12%}.about-statement__grid{grid-template-columns:1fr 2fr;gap:7vw;display:grid}.about-statement h2{max-width:14ch;color:var(--cream);margin:0;font-size:clamp(3.3rem,6.5vw,7rem)}.about-statement h2 em{color:color-mix(in oklab, var(--cream), transparent 35%)}.section-heading--compact{margin-bottom:clamp(3rem,6vw,5.5rem)}.section-heading--compact h2{font-size:clamp(3.7rem,7vw,7rem)}.principle-list{border-top:1px solid var(--line)}.principle-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 1.8fr 1.1fr;align-items:start;gap:2rem;padding-block:clamp(1.5rem,3vw,2.5rem);display:grid}.principle-number{color:var(--muted);letter-spacing:.1em;font-size:.68rem;font-weight:700}.principle-row h3{font-family:var(--serif);margin:0;font-size:clamp(1.8rem,3vw,3rem);line-height:1}.principle-row p{max-width:15rem;color:var(--muted);margin:0;font-size:.82rem}.contact-page{grid-template-columns:1.5fr .5fr;gap:8vw;min-height:60vh;padding-top:clamp(7rem,15vw,14rem);padding-bottom:clamp(8rem,17vw,16rem);display:grid}.contact-page h1,.not-found h1{margin:1.8rem 0 clamp(2.5rem,5vw,4.5rem);font-size:clamp(4.5rem,10vw,10rem)}.contact-page__intro{max-width:22rem;color:var(--muted);margin-bottom:2.5rem;font-size:.95rem}.contact-page__aside{flex-direction:column;gap:4rem;padding-top:5.5rem;display:flex}.contact-note{max-width:15rem}.contact-note .eyebrow{margin-bottom:1rem}.contact-note p{color:var(--muted);margin:0;font-size:.82rem}.contact-note a{border-bottom:1px solid var(--line);margin-bottom:.45rem;display:inline-block}.not-found{min-height:65vh;padding-top:clamp(8rem,17vw,16rem)}.site-footer{background:var(--paper-deep);padding-top:clamp(5rem,10vw,10rem)}.footer-top{justify-content:space-between;align-items:flex-end;gap:2rem;padding-bottom:clamp(5rem,12vw,11rem);display:flex}.footer-top h2{margin:1.1rem 0 0;font-size:clamp(4.2rem,9vw,9rem)}.footer-email{border-bottom:1px solid var(--ink);font-family:var(--serif);letter-spacing:-.04em;transition:gap .18s var(--ease), color .18s ease;align-items:center;gap:1.5rem;padding-bottom:.7rem;font-size:clamp(1.25rem,2.3vw,2rem);display:flex}.footer-email:hover{color:var(--muted);gap:2rem}.footer-bottom{border-top:1px solid var(--line);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:1rem;padding-block:1.2rem;font-size:.65rem;display:flex}.footer-bottom p{margin:0}.footer-links{gap:1.25rem;display:flex}.footer-links a:hover{color:var(--ink)}@media (width<=800px){.hero{min-height:auto;padding-top:4.5rem;display:block}.hero h1{font-size:clamp(4.7rem,18vw,8rem)}.hero-intro{margin-left:0}.hero-art{width:min(100%,30rem);min-height:26rem;margin:3rem 0 0 auto}.section-heading,.footer-top{flex-direction:column;align-items:flex-start}.section-note{margin:0}.approach-grid,.about-statement__grid{grid-template-columns:1fr;gap:3rem}.approach-body{padding-top:0}.project-index-grid .project-card--featured,.project-index-grid .project-card--featured .project-meta,.project-index-grid .project-card--featured .project-art,.project-index-grid .project-card--featured h3{display:block}.project-index-grid .project-card--featured h3{margin-top:1.5rem}.case-story,.contact-page{grid-template-columns:1fr;gap:3rem}.contact-page__aside{flex-flow:wrap;padding-top:0}}@media (width<=640px){:root{--gutter:1.25rem}.site-header{padding-block:1.35rem}.menu-toggle{z-index:22;align-items:center;gap:.7rem;padding:.3rem 0;font-size:.7rem;font-weight:700;display:inline-flex;position:relative}.menu-toggle__icon{flex-direction:column;gap:.28rem;width:1rem;display:flex}.menu-toggle__icon i{background:currentColor;width:100%;height:1px;transition:transform .18s;display:block}.menu-toggle[aria-expanded=true] .menu-toggle__icon i:first-child{transform:translateY(2px)rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-toggle__icon i:last-child{transform:translateY(-2px)rotate(-45deg)}.primary-navigation{z-index:21;padding:8rem var(--gutter) 2rem;background:var(--paper);font-family:var(--serif);opacity:0;pointer-events:none;transition:opacity .18s ease, transform .24s var(--ease);flex-direction:column;align-items:flex-start;gap:1rem;font-size:clamp(3rem,13vw,5rem);line-height:.9;display:flex;position:fixed;inset:0;transform:translateY(-1rem)}.primary-navigation.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.primary-navigation>a:not(.nav-cta){color:var(--ink)}.primary-navigation .nav-cta{font-family:var(--sans);margin-top:1.5rem;font-size:.75rem;line-height:1}.hero{padding-top:3.7rem}.hero h1{font-size:clamp(4.35rem,19vw,7.5rem)}.hero-intro{display:block}.hero-intro p{margin-bottom:1.7rem}.hero-art{min-height:22rem}.hero-art-caption{right:0}.project-grid,.project-index-grid{display:block}.project-card,.project-card+.project-card{margin-top:4.2rem}.project-grid .project-card:first-child,.project-index-grid .project-card:first-child{margin-top:0}.project-card--featured .project-art,.project-art{min-height:20rem}.project-card--featured .project-art,.project-index-grid .project-card--featured .project-art{min-height:27rem}.section-heading h2,.home-cta h2{font-size:clamp(4.1rem,18vw,7rem)}.about-statement:after{width:4rem;height:4rem;bottom:-1.5rem;right:7%}.principle-row{grid-template-columns:2rem 1fr;gap:.75rem 1rem}.principle-row p{grid-column:2}.case-header__meta{margin-left:0;display:block}.case-deliverables{margin-top:1.5rem}.case-art{width:100%;min-height:20rem}.contact-page h1,.not-found h1,.page-intro h1{font-size:clamp(4.3rem,18vw,7.5rem)}.footer-email{font-size:1.3rem}.footer-bottom{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
