@layer reset{*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;min-width:280px}body,h1,h2,h3,p,figure,ol,ul{margin:0}img,svg{max-width:100%;display:block}button,input,textarea,select{font:inherit}}@layer tokens{:root{color-scheme:light;--color-paper:#f1eddf;--color-paper-light:#f8f5eb;--color-ink:#262a25;--color-ink-soft:#4b4e46;--color-ink-muted:#707166;--color-rule:#c9c5b8;--color-accent:#a33b2c;--color-accent-deep:#7e2d23;--color-leaf:#33483f;--color-leaf-pale:#d9e0d3;--color-blue-pale:#d8dfe3;--font-display:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;--font-body:"Avenir Next", Avenir, "Segoe UI", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--space-5:3rem;--space-6:4rem;--space-7:6rem;--content-width:76rem;--content-gutter:clamp(1.25rem, 4.5vw, 4.5rem);--focus-ring:3px solid var(--color-accent)}}@layer base{html{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-size:16px}body{background-color:var(--color-paper);min-height:100vh;color:var(--color-ink);background-image:radial-gradient(#3d3a300b .45px,#0000 .55px);background-size:5px 5px;line-height:1.6}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{color:var(--color-accent-deep)}a:focus-visible,button:focus-visible,[tabindex="-1"]:focus-visible{outline:var(--focus-ring);outline-offset:4px}::selection{background:var(--color-accent);color:var(--color-paper-light)}h1,h2,h3{overflow-wrap:break-word;font-family:var(--font-display);letter-spacing:-.035em;font-weight:500;line-height:1.02}h1 em,h2 em{color:var(--color-accent);font-weight:400}p{max-width:68ch}}@layer objects{.skip-link{z-index:10;background:var(--color-ink);color:var(--color-paper-light);padding:.75rem 1rem;position:absolute;top:.5rem;left:.5rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.eyebrow{color:var(--color-ink-muted);font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;font-size:.68rem;line-height:1.5}.text-link{border-bottom:1px solid var(--color-ink);align-items:center;gap:.7rem;width:fit-content;padding:0 0 .25rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.text-link span{color:var(--color-accent)}}@layer components{.site-header,.site-footer,.hero,.section-heading,.featured-projects,.secondary-section,.closing-grid,.project-page,.journal-page,.article-page{width:min(100% - (var(--content-gutter) * 2), var(--content-width));margin-inline:auto}.site-header{border-bottom:1px solid var(--color-rule);justify-content:space-between;align-items:center;gap:2rem;min-height:6.75rem;display:flex}.wordmark{color:var(--color-ink);align-items:center;gap:.6rem;text-decoration:none;display:flex}.wordmark__logo{width:auto;height:2.75rem}.wordmark__text{align-items:baseline;gap:.45rem;display:flex}.wordmark__name{font-family:var(--font-display);letter-spacing:-.08em;font-size:2rem;line-height:1}.wordmark__suffix{color:var(--color-ink-muted);font-family:var(--font-mono);letter-spacing:.055em;text-transform:uppercase;font-size:.56rem}.site-nav{justify-content:flex-end;align-items:center;gap:clamp(.9rem,2.1vw,2rem);font-size:.76rem;display:flex}.site-nav a{color:var(--color-ink-soft);text-decoration:none}.site-nav a:hover{color:var(--color-accent)}.site-nav .language-switch{border:1px solid var(--color-rule);color:var(--color-ink);padding:.45rem .65rem;font-size:.7rem}.hero{grid-template-columns:minmax(0,1.1fr) minmax(18rem,.9fr);align-items:center;gap:clamp(2rem,6vw,6rem);min-height:min(47rem,100svh - 6.75rem);padding-block:clamp(4rem,9vw,8rem);display:grid;position:relative}.hero__copy{z-index:1;padding-block:2rem;position:relative}.hero__copy .eyebrow{align-items:center;gap:.65rem;margin-bottom:2rem;display:flex}.eyebrow__dot{background:var(--color-accent);border-radius:50%;width:.45rem;height:.45rem}.hero h1{max-width:10ch;font-size:clamp(4.4rem,8.2vw,8rem);line-height:.88}.hero__intro{max-width:39rem;color:var(--color-ink-soft);margin-top:2rem;font-size:clamp(1rem,1.2vw,1.15rem);line-height:1.8}.hero__copy .text-link{margin-top:2.25rem}.hero-art{aspect-ratio:1;isolation:isolate;background:#e8ded0;place-items:center;width:min(100%,33rem);margin-inline:auto;display:grid;position:relative;overflow:hidden}.hero-art:before,.hero-art:after{z-index:-1;content:"";border:1px solid #68513d47;position:absolute}.hero-art:before{border-radius:48% 52% 51% 49%/53% 44% 56% 47%;inset:8%}.hero-art:after{border-radius:50%;inset:14%}.hero-art__registration{color:var(--color-ink-muted);font-family:var(--font-mono);letter-spacing:.08em;font-size:.6rem;position:absolute;top:1.2rem;left:1.25rem}.hero-art__flower{width:85%;animation:.8s ease-out both flower-arrive;overflow:visible}.hero-art__stem{fill:none;stroke:#48594a;stroke-linecap:round;stroke-width:6px}.hero-art__leaf{fill:#697a5c;stroke:#48594a;stroke-width:1.5px}.hero-art__leaf--second{fill:#84906a}.hero-art__petal{stroke:#803329;stroke-width:1.3px}.hero-art__petal--one,.hero-art__petal--four{fill:#ad4533}.hero-art__petal--two,.hero-art__petal--five{fill:#c45b42}.hero-art__petal--three{fill:#92392c}.hero-art__heart{fill:#e7bf78;stroke:#803329;stroke-width:1.5px}.hero-art__seed{fill:#4b3827}.hero-art__caption{color:var(--color-ink-muted);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;font-size:.58rem;display:flex;position:absolute;bottom:1.1rem;left:1.3rem;right:1.3rem}.hero-art__folio{color:var(--color-accent);font-family:var(--font-display);font-size:1.2rem;font-style:italic;position:absolute;top:1.1rem;right:1.2rem}.hero__margin-note{color:var(--color-ink-muted);font-family:var(--font-display);font-size:.95rem;font-style:italic;line-height:1.25;position:absolute;bottom:12%;right:-.35rem;transform:rotate(-7deg)}.section-heading{border-top:1px solid var(--color-ink);justify-content:space-between;align-items:end;gap:2rem;padding-block:2.3rem 1.6rem;display:flex}.section-heading .eyebrow{margin-bottom:1rem}.section-heading h2,.secondary-section h2,.closing-note h2{font-size:clamp(2.6rem,5vw,4.6rem)}.section-heading>p{max-width:20rem;color:var(--color-ink-muted);padding-bottom:.45rem;font-size:.88rem}.featured-projects{grid-template-columns:1.1fr .9fr;align-items:stretch;gap:1rem;display:grid}.project-feature{flex-direction:column;justify-content:space-between;min-height:21rem;padding:clamp(1.35rem,3vw,2.4rem);display:flex;position:relative;overflow:hidden}.project-feature--ori{background:var(--color-leaf-pale);min-height:27rem}.project-feature--aipo{background:var(--color-blue-pale);align-self:end;min-height:23rem}.project-feature__header,.project-feature__body{z-index:1;justify-content:space-between;align-items:center;gap:1.25rem;display:flex;position:relative}.project-feature__number,.project-feature__category{color:var(--color-ink-muted);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:.61rem}.project-feature__body{align-items:end}.project-feature h3{z-index:1;font-size:clamp(3.5rem,7vw,6.8rem);position:relative}.project-feature h3 a{text-decoration:none}.project-feature h3 span{color:var(--color-accent);font-family:var(--font-body);vertical-align:top;font-size:1.1rem}.project-feature__body p{max-width:25rem;color:var(--color-ink-soft);margin-top:.5rem;font-size:.9rem}.project-feature__link{flex:none;font-size:.73rem;font-weight:600;text-decoration:none}.project-feature__link span{color:var(--color-accent);padding-left:.3rem}.project-feature__glyph{color:#4456492e;font-family:var(--font-display);pointer-events:none;font-size:clamp(12rem,26vw,24rem);line-height:.7;position:absolute;top:40%;right:8%;transform:rotate(10deg)}.project-feature--aipo .project-feature__glyph{color:#4d556f2b;font-size:clamp(9rem,20vw,18rem);top:34%;right:12%;transform:rotate(-9deg)}.secondary-section{border-top:1px solid var(--color-ink);border-bottom:1px solid var(--color-ink);grid-template-columns:.85fr 1.15fr;gap:clamp(3rem,9vw,9rem);margin-top:clamp(6rem,12vw,11rem);padding-block:clamp(3rem,7vw,6rem);display:grid}.secondary-section__intro{align-self:start}.secondary-section__intro .eyebrow{margin-bottom:1.5rem}.secondary-section__intro>p:last-child{max-width:23rem;color:var(--color-ink-muted);margin-top:1.5rem}.secondary-list{border-top:1px solid var(--color-rule)}.secondary-project{border-bottom:1px solid var(--color-rule);grid-template-columns:2.5rem 1fr 2rem;align-items:center;gap:1rem;padding-block:1.7rem;display:grid}.secondary-project__number,.secondary-project__category{color:var(--color-ink-muted);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;font-size:.62rem}.secondary-project__category{margin-bottom:.3rem}.secondary-project h3{font-size:2rem}.secondary-project h3 a{text-decoration:none}.secondary-project h3 span{color:var(--color-accent);font-family:var(--font-body);vertical-align:top;font-size:.8rem}.secondary-project__arrow{border:1px solid var(--color-rule);width:2rem;height:2rem;color:var(--color-accent);border-radius:50%;place-items:center;text-decoration:none;display:grid}.secondary-project>div>p:last-child{color:var(--color-ink-muted);margin-top:.55rem;font-size:.84rem}.closing-grid{grid-template-columns:1.05fr .95fr;gap:1rem;margin-block:clamp(5rem,10vw,9rem);display:grid}.closing-note{min-height:19rem;padding:clamp(1.5rem,3.4vw,2.7rem)}.closing-note--docs{background:#e9e1d4;flex-direction:column;align-items:flex-start;display:flex}.closing-note--journal{background:#e5e5da}.closing-note .eyebrow{margin-bottom:1.5rem}.closing-note h2{font-size:clamp(2.5rem,4vw,3.9rem)}.closing-note>p:not(.eyebrow){max-width:26rem;color:var(--color-ink-soft);margin-top:1rem;font-size:.9rem}.closing-note .text-link{margin-top:auto;padding-top:2rem}.closing-grid__caption{color:var(--color-ink-muted);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;grid-column:1/-1;font-size:.62rem}.site-footer{border-top:1px solid var(--color-ink);grid-template-columns:1fr 1.5fr 1.3fr auto;align-items:start;gap:2rem;padding-block:2rem 3rem;display:grid}.site-footer__mark{font-family:var(--font-display);letter-spacing:-.05em;font-size:1.5rem;text-decoration:none}.site-footer>p{max-width:22rem;color:var(--color-ink-muted);font-size:.79rem}.site-footer__links{flex-direction:column;gap:.35rem;font-size:.76rem;display:flex}.site-footer__links a{text-decoration:none}.site-footer>small{color:var(--color-ink-muted);font-family:var(--font-mono);font-size:.62rem}.project-page{padding-block:2rem 6rem}.project-page__topline{border-bottom:1px solid var(--color-rule);justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1rem;display:flex}.back-link{color:var(--color-ink-soft);align-items:center;gap:.55rem;font-size:.78rem;text-decoration:none;display:inline-flex}.back-link span{color:var(--color-accent)}.project-page__category{color:var(--color-ink-muted);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:.62rem}.project-page__hero{max-width:58rem;padding-block:clamp(4rem,9vw,8rem) clamp(4rem,8vw,7rem)}.project-page__hero .eyebrow{margin-bottom:1.3rem}.project-page__hero h1{font-size:clamp(5rem,12vw,11rem);line-height:.82}.project-page__period{color:var(--color-accent)}.project-page__summary{max-width:43rem;color:var(--color-ink-soft);font-family:var(--font-display);margin-top:2rem;font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.5}.project-page__links{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.button-link{align-items:center;gap:.6rem;min-height:2.8rem;padding:.7rem 1rem;font-size:.76rem;font-weight:600;text-decoration:none;display:inline-flex}.button-link--dark{background:var(--color-ink);color:var(--color-paper-light)}.button-link--dark:hover{background:var(--color-accent-deep);color:var(--color-paper-light)}.button-link--light{border:1px solid var(--color-rule)}.button-link span{color:var(--color-accent)}.project-page__body{max-width:63rem;margin-inline:auto}.project-section{border-top:1px solid var(--color-rule);grid-template-columns:5rem minmax(0,1fr);gap:1.5rem;padding-block:3rem;display:grid}.project-section__index{color:var(--color-accent);font-family:var(--font-mono);font-size:.8rem}.project-section .eyebrow{margin-bottom:.8rem}.project-section h2{margin-bottom:1.2rem;font-size:clamp(2.25rem,4vw,3.7rem)}.project-section>div>p:not(.eyebrow){color:var(--color-ink-soft);font-size:1rem;line-height:1.85}.principle-list{padding:0;list-style:none}.principle-list li{border-top:1px solid var(--color-rule);grid-template-columns:2.4rem 1fr;gap:.7rem;padding-block:1.1rem;display:grid}.principle-list__number{color:var(--color-accent);font-family:var(--font-mono);padding-top:.2rem;font-size:.65rem}.principle-list h3{font-family:var(--font-body);letter-spacing:0;font-size:1rem;font-weight:650;line-height:1.4}.principle-list p{color:var(--color-ink-muted);margin-top:.3rem;font-size:.88rem}.code-plate{background:#e7e3d8;margin-top:1.5rem}.code-plate__caption{border-bottom:1px solid var(--color-rule);color:var(--color-ink-muted);justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.1rem;font-size:.69rem;display:flex}.code-plate__language{color:var(--color-accent);font-family:var(--font-mono);text-transform:uppercase;font-size:.65rem}.code-plate pre{color:#2f3b38;font-family:var(--font-mono);tab-size:2;margin:0;padding:clamp(1rem,3vw,1.75rem);font-size:clamp(.72rem,1vw,.85rem);line-height:1.8;overflow-x:auto}.project-page__note{color:var(--color-ink-muted);margin-top:.8rem;font-size:.76rem}.project-source{border:1px solid var(--color-rule);grid-template-columns:3rem minmax(0,1fr) auto;align-items:center;gap:1rem;margin-top:2rem;padding:1.2rem;display:grid}.project-source__stamp{border:1px solid var(--color-rule);width:2.6rem;height:2.6rem;color:var(--color-accent);font-family:var(--font-display);border-radius:50%;place-items:center;font-size:1.3rem;display:grid}.project-source p{color:var(--color-ink-muted);font-size:.8rem}.project-source>a{font-size:.74rem;font-weight:600;text-decoration:none}.project-source>a span{color:var(--color-accent)}.journal-page{min-height:62vh;padding-block:clamp(4rem,10vw,8rem) 7rem}.journal-page>.eyebrow{margin-bottom:1.5rem}.journal-page h1{font-size:clamp(4rem,10vw,8.5rem);line-height:.88}.journal-page__intro{max-width:38rem;color:var(--color-ink-muted);margin-top:1.5rem;font-size:.95rem}.journal-list{border-top:1px solid var(--color-ink);margin-top:4rem;padding:0;list-style:none}.journal-list li{border-bottom:1px solid var(--color-rule)}.journal-list article{grid-template-columns:10rem minmax(0,1fr) 2rem;align-items:center;gap:1.5rem;padding-block:1.8rem;display:grid}.journal-list time,.journal-list__index{color:var(--color-ink-muted);font-family:var(--font-mono);font-size:.66rem}.journal-list h2{font-size:clamp(1.8rem,3.5vw,2.8rem)}.journal-list h2 a{text-decoration:none}.journal-list h2 span{color:var(--color-accent);font-family:var(--font-body);vertical-align:top;font-size:.8rem}.journal-list article>div>p{color:var(--color-ink-muted);margin-top:.5rem;font-size:.84rem}.journal-list__index{color:var(--color-accent)}.article-page{max-width:70rem;min-height:62vh;padding-block:2rem 8rem}.article-page__header{text-align:center;max-width:54rem;margin:clamp(4rem,9vw,7rem) auto 4rem}.article-page__header .eyebrow{margin-bottom:1.3rem}.article-page__header h1{font-size:clamp(3.5rem,8vw,6.7rem)}.article-page__description{color:var(--color-ink-muted);font-family:var(--font-display);margin:1.2rem auto;font-size:1.3rem}.article-page__header time{color:var(--color-ink-muted);font-family:var(--font-mono);font-size:.67rem}.article-content{max-width:45rem;color:var(--color-ink-soft);margin-inline:auto;font-size:1rem;line-height:1.9}.article-content p+p{margin-top:1.3rem}.article-content h2{color:var(--color-ink);margin-block:3rem 1rem;font-size:2.3rem}.article-content a{color:var(--color-accent-deep)}.article-content code{font-family:var(--font-mono);background:#e7e3d8;padding:.12rem .3rem;font-size:.85em}.article-content pre{color:var(--color-ink);font-family:var(--font-mono);background:#e7e3d8;margin-block:1.7rem;padding:1.25rem;font-size:.8rem;line-height:1.7;overflow-x:auto}.article-content pre code{background:0 0;padding:0}}@layer utilities{.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}}@keyframes flower-arrive{0%{opacity:0;transform:translateY(.8rem)rotate(-3deg)}to{opacity:1;transform:translateY(0)rotate(0)}}@media (width<=1100px){.hero{gap:clamp(1.75rem,4.5vw,4rem)}.site-footer{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:1.6rem}.site-footer>p{grid-area:2/1/auto/-1}.site-footer>small{justify-self:end}}@media (width<=850px){.site-header{flex-direction:column;align-items:flex-start;gap:1.1rem;padding-block:1.2rem}.site-nav{flex-wrap:wrap;justify-content:flex-start;gap:.6rem 1.25rem;width:100%}.site-nav a{align-items:center;min-height:2.75rem;display:inline-flex}.hero{grid-template-columns:minmax(0,1fr) minmax(15rem,.8fr);gap:1rem;min-height:auto;padding-block:5rem}.hero h1{font-size:clamp(3.4rem,9.4vw,5.6rem)}.hero__margin-note{display:none}.featured-projects{grid-template-columns:1fr 1fr}.project-feature--ori,.project-feature--aipo{min-height:23rem}.project-feature__body{flex-direction:column;align-items:flex-start}.project-feature h3{font-size:clamp(3.5rem,8vw,5.5rem)}.secondary-section{grid-template-columns:1fr;gap:3rem}.closing-grid{grid-template-columns:1fr 1fr}.site-footer{grid-template-columns:1fr 2fr;row-gap:1.4rem}}@media (width<=600px){:root{--content-gutter:1.1rem}.wordmark{flex-wrap:wrap;gap:.45rem}.wordmark__logo{height:2.3rem}.wordmark__name{font-size:1.8rem}.wordmark__suffix{font-size:.5rem}.site-nav{gap:.7rem 1rem;font-size:.72rem}.site-nav .language-switch{padding:.35rem .5rem}.hero{grid-template-columns:1fr;gap:2.5rem;padding-block:4rem 3rem}.hero h1{font-size:clamp(4.2rem,18vw,6.2rem)}.hero__intro{margin-top:1.3rem;font-size:.95rem}.hero-art{width:min(100%,25rem)}.section-heading{flex-direction:column;align-items:flex-start;gap:1rem;padding-top:1.6rem}.featured-projects{grid-template-columns:1fr}.project-feature--ori,.project-feature--aipo{min-height:21rem}.project-feature--aipo{margin-left:1rem}.project-feature__body{flex-direction:row;align-items:flex-end}.project-feature h3{font-size:clamp(4rem,18vw,6rem)}.project-feature__body p{max-width:17rem}.project-feature__link{text-align:right}.secondary-section{margin-top:5rem;padding-block:3rem}.secondary-project{grid-template-columns:1.7rem 1fr 1.7rem;gap:.7rem;padding-block:1.35rem}.secondary-project h3{font-size:1.7rem}.secondary-project__arrow{width:1.7rem;height:1.7rem}.closing-grid{grid-template-columns:1fr;margin-block:4rem}.closing-note{min-height:17rem}.closing-grid__caption{grid-column:auto}.site-footer{grid-template-columns:1fr 1fr;gap:1.5rem 1rem}.site-footer__links{font-size:.72rem}.project-page{padding-block:1.2rem 4rem}.project-page__topline{flex-direction:column;align-items:flex-start}.project-page__hero{padding-block:4rem}.project-page__hero h1{font-size:clamp(4.6rem,20vw,7rem)}.project-page__summary{font-size:1.2rem}.project-page__links{flex-direction:column;align-items:stretch}.button-link{justify-content:space-between}.project-section{grid-template-columns:2rem 1fr;gap:.8rem;padding-block:2rem}.project-section h2{font-size:2.3rem}.project-source{grid-template-columns:2.6rem 1fr}.project-source>a{grid-column:2}.journal-page{padding-block:4rem 5rem}.journal-page h1{font-size:clamp(4rem,18vw,6rem)}.journal-list article{grid-template-columns:1fr 1.5rem;gap:.65rem 1rem}.journal-list time{grid-column:1/-1}.journal-list article>div{grid-column:1}.journal-list__index{grid-area:2/2}.article-page{padding-block:1.2rem 5rem}.article-page__header{text-align:left;margin-block:4rem 3rem}.article-page__header h1{font-size:clamp(3.5rem,15vw,5rem)}}@media (width<=400px){:root{--content-gutter:1rem}.wordmark__logo{height:2rem}.wordmark__name{font-size:1.6rem}.site-nav{gap:.35rem .9rem}.hero h1{font-size:clamp(2.6rem,14vw,4rem)}.section-heading h2,.secondary-section h2,.closing-note h2{font-size:clamp(2rem,9vw,3rem)}.project-feature h3{font-size:clamp(3.2rem,16vw,4.6rem)}.project-page__hero h1{font-size:clamp(3.6rem,17vw,5rem)}.journal-page h1{font-size:clamp(3rem,14vw,4.4rem)}.article-page__header h1{font-size:clamp(2.6rem,11vw,3.6rem)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
