@font-face{font-family:Editorial Serif Fallback;src:local(Iowan Old Style),local(Baskerville),local(Times New Roman);font-display:swap}:root{color-scheme:light;--paper:#f3efe7;--paper-deep:#e2ddd3;--paper-light:#faf7f1;--ink:#201f1c;--ink-soft:#625d54;--accent:#8f3f2c;--night:#1d1d1b;--night-soft:#c8c0b4;--line:#201f1c38;--serif:"Editorial Serif Fallback", Georgia, serif;--sans:"Helvetica Neue", Helvetica, Arial, sans-serif;--page:min(100% - 2rem, 88rem);font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility}*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth}body{min-width:320px;color:var(--ink);background:var(--paper);margin:0}body:has(dialog[open]){overflow:hidden}img{max-width:100%;display:block}figure{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{color:inherit;font:inherit}input,select,textarea{font-size:16px}button{border:0}::selection{color:var(--paper-light);background:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.skip-link{z-index:200;color:#fff;background:var(--night);align-items:center;min-height:44px;padding:.75rem 1rem;display:inline-flex;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.page{width:var(--page);margin-inline:auto}.eyebrow{color:var(--accent);letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:.7rem;font-weight:700;line-height:1.4}.display{font-family:var(--serif);letter-spacing:-.055em;margin:0;font-weight:400}.lede{color:var(--ink-soft);font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.7}.rule{border-top:1px solid var(--line)}.link-line{border-bottom:1px solid;align-items:center;min-height:44px;font-size:.85rem;display:inline-flex}.button{border:1px solid var(--ink);cursor:pointer;background:0 0;justify-content:center;align-items:center;min-height:48px;padding:.75rem 1.3rem;transition:color .16s,background .16s;display:inline-flex}.button:hover,.button-solid{color:var(--paper-light);background:var(--ink)}.button-solid:hover{background:var(--accent);border-color:var(--accent)}.site-header{z-index:50;border-bottom:1px solid var(--line);backdrop-filter:blur(16px);background:#f3efe7f0;position:sticky;top:0}.site-nav{justify-content:space-between;align-items:center;gap:1.5rem;min-height:72px;display:flex}.brand{letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:.75rem;min-height:44px;font-size:.76rem;font-weight:700;display:inline-flex}.brand-mark{letter-spacing:.06em;border:1px solid;border-radius:50%;place-items:center;width:36px;height:36px;font-size:.66rem;display:grid}.desktop-links{align-items:center;gap:2rem;display:none}.nav-link{align-items:center;min-height:44px;font-size:.82rem;display:inline-flex}.nav-link[aria-current=page]{color:var(--accent)}.menu-trigger{cursor:pointer;background:0 0;place-items:center;width:48px;height:48px;padding:0;display:grid}.menu-trigger span,.menu-trigger:before,.menu-trigger:after{content:"";background:currentColor;width:22px;height:1px;display:block}.menu-trigger span{margin:5px 0}.nav-dialog{width:100%;max-width:none;height:100dvh;max-height:none;color:var(--paper-light);background:var(--night);border:0;margin:0;padding:0}.nav-dialog::backdrop{background:#00000080}.nav-dialog-head{width:var(--page);border-bottom:1px solid #ffffff2e;justify-content:space-between;align-items:center;min-height:72px;margin-inline:auto;display:flex}.nav-dialog .brand{color:var(--paper-light)}.dialog-close{width:48px;height:48px;color:inherit;cursor:pointer;background:0 0;place-items:center;font-size:1.8rem;display:grid}.mobile-links{width:var(--page);flex-direction:column;margin:1.5rem auto;display:flex}.mobile-links a{min-height:62px;font-family:var(--serif);letter-spacing:-.04em;border-bottom:1px solid #ffffff2e;align-items:center;font-size:clamp(2.2rem,11vw,4rem);display:flex}.mobile-links .mobile-section{min-height:auto;color:var(--night-soft);font-family:var(--sans);letter-spacing:.18em;text-transform:uppercase;padding:1.6rem 0 .6rem;font-size:.68rem;font-weight:700}.hero{padding:2.2rem 0 5rem}.hero-heading{font-size:clamp(4.4rem,17vw,12rem);line-height:.76}.hero-heading span{margin-left:14vw;font-style:italic;display:block}.hero-meta{gap:1.4rem;margin:2.4rem 0 1.5rem;display:grid}.hero-meta .lede{max-width:34rem;margin:0}.hero-media{aspect-ratio:4/5;background:var(--paper-deep);position:relative;overflow:hidden}.hero-media img{object-fit:cover;object-position:50% 50%;width:100%;height:100%;transition:none;transform:none}.hero-caption{color:var(--ink-soft);justify-content:space-between;align-items:center;gap:1rem;margin-top:.7rem;font-size:.72rem;display:flex}.hero-caption a{align-items:center;min-height:44px;display:inline-flex}.section{padding-block:5rem}.section-heading{margin-bottom:2.5rem}.section-title{font-size:clamp(3.6rem,10vw,8rem);line-height:.86}.project-list{border-top:1px solid var(--line)}.project{border-bottom:1px solid var(--line);gap:1.25rem;padding:1.2rem 0 3.5rem;display:grid}.project-copy{align-content:start;gap:1rem;display:grid}.project-number{color:var(--ink-soft);letter-spacing:.15em;font-size:.7rem}.project-title{font-size:clamp(3rem,9vw,7.5rem);line-height:.9}.project-media{aspect-ratio:5/4;background:var(--paper-deep);overflow:hidden}.project-media img{object-fit:cover;width:100%;height:100%;transition:opacity .18s}.project:hover .project-media img{opacity:.88}.services{color:var(--paper-light);background:var(--night)}.services-grid{gap:3rem;display:grid}.services .eyebrow{color:#db9b88}.services-title{max-width:46rem;font-size:clamp(3.5rem,9vw,7.4rem);line-height:.9}.service-list{border-top:1px solid #ffffff3d;margin:0;padding:0;list-style:none}.service-list li{border-bottom:1px solid #ffffff3d;align-items:center;gap:1.25rem;min-height:64px;display:flex}.service-list span{color:var(--night-soft);font-size:.72rem}.services .button{color:var(--paper-light);border-color:var(--paper-light)}.services .button:hover{color:var(--night);background:var(--paper-light)}.page-intro{gap:2rem;padding-block:4rem 3rem;display:grid}.page-title{max-width:68rem;font-size:clamp(4rem,13vw,10rem);line-height:.79}.page-title em{font-weight:400}.page-intro .lede{max-width:40rem;margin:0}.about-grid{gap:2.5rem;padding-bottom:6rem;display:grid}.about-photo{aspect-ratio:4/5;background:var(--paper-deep);overflow:hidden}.about-photo img{object-fit:cover;width:100%;height:100%}.about-copy{align-self:center}.about-copy h2{margin:.8rem 0 2rem;font-size:clamp(3rem,8vw,5.8rem);line-height:.9}.about-copy p{max-width:34rem;color:var(--ink-soft);margin:0 0 1.2rem;line-height:1.75}.portfolio-index{padding-bottom:6rem}.portfolio-index .project{padding-top:1.5rem}.gallery-head{padding-block:4rem 2.5rem}.gallery-head .page-title{max-width:none}.gallery-count{color:var(--ink-soft);letter-spacing:.12em;text-transform:uppercase;font-size:.75rem}.gallery-grid{gap:1rem;padding-bottom:6rem;display:grid}.gallery-item{background:var(--paper-deep);cursor:zoom-in;min-width:0;padding:0;overflow:hidden}.gallery-item img{width:100%;height:auto;transition:opacity .16s}.gallery-item:hover img{opacity:.86}.lightbox{color:#fff;background:#0e0e0df7;border:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:1rem}.lightbox[open]{grid-template:auto minmax(0,1fr) auto/1fr;align-items:center;gap:.75rem;display:grid}.lightbox::backdrop{background:#000000e0}.lightbox-bar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.lightbox-title,.lightbox-count{color:#ddd5c9;letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.72rem}.lightbox-close,.lightbox-arrow{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff73;border-radius:50%;flex:none;place-items:center;width:48px;height:48px;display:grid}.lightbox-stage{grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:.5rem;min-height:0;display:grid}.lightbox-figure{place-items:center;min-width:0;min-height:0;margin:0;display:grid}.lightbox-image{object-fit:contain;max-width:100%;max-height:calc(100dvh - 9rem)}.contact-layout{gap:3rem;padding-bottom:6rem;display:grid}.contact-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.contact-list a,.contact-list span{border-bottom:1px solid var(--line);align-items:center;min-height:54px;font-size:.88rem;display:flex}.form,.form-row{gap:1.5rem;display:grid}.field-wrap{gap:.5rem;display:grid}.label{letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:700}.field{width:100%;min-height:52px;color:var(--ink);background:0 0;border:0;border-bottom:1px solid #201f1c80;border-radius:0;padding:.75rem 0}textarea.field{resize:vertical;min-height:8.5rem}.field[aria-invalid=true]{border-color:#8d1e1e}.field-error{color:#851c1c;margin:0;font-size:.82rem}.form-status{min-height:1.5rem;color:var(--ink-soft);margin:0;font-size:.86rem;line-height:1.5}.form-status[data-state=error]{color:#851c1c}.form-status[data-state=success]{color:#31592e}.consent{color:var(--ink-soft);grid-template-columns:22px 1fr;align-items:start;gap:.65rem;font-size:.82rem;line-height:1.55;display:grid}.consent input{width:20px;height:20px;margin:0}.consent a{text-decoration:underline}.honeypot{display:none!important}.privacy{max-width:48rem;padding-bottom:6rem}.privacy h2{font-family:var(--serif);margin:2.8rem 0 .8rem;font-size:2.2rem;font-weight:400}.privacy p,.privacy li{color:var(--ink-soft);line-height:1.75}.site-footer{color:var(--paper-light);background:var(--night)}.footer-grid{border-bottom:1px solid #fff3;gap:3.5rem;padding-block:4.5rem 3rem;display:grid}.footer-title{max-width:34rem;margin:1rem 0 1.4rem;font-size:clamp(2.8rem,8vw,5.8rem);line-height:.94}.site-footer .eyebrow{color:#db9b88}.footer-newsletter{max-width:30rem}.footer-newsletter p{color:var(--night-soft);line-height:1.6}.newsletter-line{border-bottom:1px solid #ffffff94;margin-top:1.2rem;display:flex}.newsletter-line input{color:#fff;background:0 0;border:0;flex:1;min-width:0;min-height:52px}.newsletter-line button{color:#fff;cursor:pointer;background:0 0;min-height:52px;padding:0 .75rem}.site-footer .form-status[data-state=success]{color:#bde3b7}.site-footer .form-status[data-state=error],.site-footer .field-error{color:#ffb7a8}.footer-contacts{align-content:start;display:grid}.footer-contacts a{min-height:48px;color:var(--night-soft);border-bottom:1px solid #ffffff29;align-items:center;display:flex}.footer-bottom{color:var(--night-soft);flex-direction:column;gap:.75rem;padding-block:1.4rem;font-size:.73rem;display:flex}.footer-legal{flex-wrap:wrap;gap:.7rem 1.3rem;display:flex}.footer-bottom a:hover{color:#fff}.footer-bottom a{align-items:center;min-height:44px;display:inline-flex}.error-page{align-content:center;min-height:65vh;padding-block:5rem;display:grid}.error-code{color:var(--accent);letter-spacing:.16em;text-transform:uppercase;font-size:.72rem}.error-page h1{margin:1rem 0;font-size:clamp(4rem,12vw,9rem);line-height:.82}.error-page p{max-width:32rem;color:var(--ink-soft);line-height:1.7}@media (width>=700px){:root{--page:min(100% - 4rem, 88rem)}.desktop-links{display:flex}.menu-trigger{display:none}.hero{padding-top:3.5rem}.hero-meta{grid-template-columns:1fr 1fr;align-items:end}.hero-meta .lede{justify-self:end}.hero-media{aspect-ratio:16/9}.project{grid-template-columns:minmax(15rem,.8fr) minmax(20rem,1.3fr);align-items:center;padding-block:2rem}.project:nth-child(2n){grid-template-columns:minmax(20rem,1.3fr) minmax(15rem,.8fr)}.project:nth-child(2n) .project-copy{order:2;padding-left:2rem}.project:nth-child(2n) .project-media{order:1}.services-grid{grid-template-columns:1fr .9fr;align-items:start}.about-grid{grid-template-columns:minmax(0,1.15fr) minmax(18rem,.72fr);align-items:center}.gallery-grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:1.2rem}.gallery-item{grid-column:span 5}.gallery-item:nth-child(4n+2),.gallery-item:nth-child(4n+3){grid-column:span 7}.gallery-item:nth-child(3n){margin-top:4rem}.form-row{grid-template-columns:1fr 1fr}.contact-layout{grid-template-columns:minmax(14rem,.65fr) minmax(0,1.35fr)}.footer-grid{grid-template-columns:1.05fr .95fr}.footer-contacts{grid-column:1/-1;grid-template-columns:repeat(3,1fr);gap:1rem}.footer-bottom{flex-direction:row;justify-content:space-between;align-items:center}}@media (width>=1080px){.hero-heading span{margin-left:19vw}.project{grid-template-columns:.7fr 1.3fr;gap:4.5rem}.project:nth-child(2n){grid-template-columns:1.3fr .7fr}.footer-grid{grid-template-columns:1fr 1fr .7fr}.footer-contacts{grid-column:auto;grid-template-columns:1fr}}@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}}
