:root{--color-cream:#f4eee6;--color-cream-deep:#e9ddd0;--color-ink:#302925;--color-ink-soft:#5f524b;--color-blush:#ebcbc1;--color-gold:#8b6426;--color-paper:#fffdf9;--color-line:#3029252e;--color-light-line:#fffdf940;--font-editorial:"Iowan Old Style", "Baskerville", "Times New Roman", serif;--font-body:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--shell:min(1220px, calc(100vw - 48px));--shell-narrow:min(540px, calc(100vw - 48px));--section-space:clamp(5.5rem, 10vw, 9rem);--radius-small:4px;--transition:.18s ease}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:7rem}body{min-width:320px;color:var(--color-ink);background:var(--color-cream);font-family:var(--font-body);overflow-wrap:anywhere;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.65;overflow-x:hidden}img{max-width:100%;display:block}figure,h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--color-gold);outline-offset:4px}::selection{color:var(--color-paper);background:var(--color-ink)}.shell{width:var(--shell);margin-inline:auto}.shell-narrow{width:var(--shell-narrow);margin-inline:auto}.section{padding-block:var(--section-space)}.skip-link{z-index:999;color:var(--color-paper);background:var(--color-ink);transition:transform var(--transition);padding:.75rem 1rem;position:fixed;top:1rem;left:1rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.eyebrow{color:var(--color-ink-soft);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:.75rem;font-size:.72rem;font-weight:700;line-height:1.3;display:flex}.eyebrow:before{background:var(--color-gold);content:"";width:1.85rem;height:1px}.button{letter-spacing:.08em;text-transform:uppercase;min-height:3.35rem;transition:background-color var(--transition), color var(--transition), border-color var(--transition), transform var(--transition);border:1px solid #0000;justify-content:center;align-items:center;gap:.65rem;padding:.85rem 1.5rem;font-size:.78rem;font-weight:750;line-height:1;display:inline-flex}.button:hover{transform:translateY(-2px)}.button--primary{color:var(--color-paper);background:var(--color-ink)}.button--primary:hover{background:#171310}.button--light{color:var(--color-ink);background:var(--color-paper)}.button--light:hover{color:var(--color-paper);border-color:var(--color-light-line);background:0 0}.text-link{border-bottom:1px solid var(--color-ink);letter-spacing:.05em;align-items:center;gap:.55rem;min-height:3.35rem;font-size:.82rem;font-weight:700;display:inline-flex}.text-link span{color:var(--color-gold);transition:transform var(--transition);font-size:1.1rem}.text-link:hover span{transform:translate(3px,-3px)}.site-header{z-index:20;border-bottom:1px solid #3029251f;position:absolute;top:0;left:0;right:0}.header-inner{grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);align-items:center;gap:2rem;min-height:6rem;display:grid}.brand{flex-direction:column;width:max-content;max-width:100%;line-height:.9;display:inline-flex}.brand-name{font-family:var(--font-editorial);letter-spacing:-.04em;font-size:1.65rem}.brand-by{color:var(--color-ink-soft);letter-spacing:.16em;text-transform:uppercase;align-self:flex-end;font-size:.62rem;font-weight:700}.main-nav{flex-wrap:wrap;justify-self:center;align-items:center;gap:clamp(1.25rem,2.6vw,2.5rem);min-width:0;display:flex}.main-nav a{letter-spacing:.08em;text-transform:uppercase;padding-block:.5rem;font-size:.76rem;font-weight:650;position:relative}.main-nav a:after{background:var(--color-ink);content:"";transform-origin:100%;height:1px;transition:transform var(--transition);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.main-nav a:hover:after{transform-origin:0;transform:scaleX(1)}.header-action{max-width:100%;color:var(--color-paper);background:var(--color-ink);letter-spacing:.08em;text-transform:uppercase;justify-self:end;padding:.85rem 1.1rem;font-size:.69rem;font-weight:750}.hero{background:radial-gradient(circle at 10% 20%, #ebcbc17a, transparent 27%), var(--color-cream);grid-template-columns:minmax(0,47%) minmax(0,53%);min-height:min(900px,100vh);padding-top:6rem;display:grid}.hero-copy{flex-direction:column;justify-content:center;width:min(530px,100% - 64px);margin-right:clamp(2rem,5vw,7rem);padding-block:5rem;display:flex}.hero h1{max-width:11ch;font-family:var(--font-editorial);letter-spacing:-.065em;margin-top:1.5rem;font-size:clamp(3.8rem,6.2vw,7rem);font-weight:400;line-height:.91}.hero h1:after{background:var(--color-gold);content:"";width:clamp(5rem,10vw,9rem);height:2px;margin-top:2rem;display:block}.hero-lead{max-width:33rem;color:var(--color-ink-soft);margin-top:2rem;font-size:clamp(1rem,1.5vw,1.18rem);line-height:1.75}.hero-actions{align-items:center;gap:1.75rem;margin-top:2.35rem;display:flex}.hero-media{background:var(--color-cream-deep);min-height:650px;position:relative;overflow:hidden}.hero-media>picture,.hero-media>picture img,.hero-media>img{width:100%;height:100%}.hero-media img{object-fit:cover;object-position:50% 38%}.hero-media:after{content:"";pointer-events:none;background:linear-gradient(#3029250a,#0000 54%,#3029253d);position:absolute;inset:0}.hero-media figcaption{z-index:2;color:var(--color-paper);text-shadow:0 2px 20px #00000047;flex-direction:column;align-items:flex-end;display:flex;position:absolute;bottom:2rem;right:2rem}.hero-media figcaption span:first-child{font-family:var(--font-editorial);font-size:2.2rem;line-height:.9}.hero-media figcaption span:last-child{letter-spacing:.18em;text-transform:uppercase;font-size:.7rem;font-weight:700}@media (width>=801px){.hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,4vw,4rem);min-height:auto;padding:9rem max(2rem,50vw - 620px) 3rem}.hero-copy{width:100%;margin:0;padding-block:1.5rem}.hero h1{font-size:clamp(3.3rem,4.7vw,4.8rem);line-height:1}.hero-media{height:560px;min-height:0}.hero-media img{object-position:50% 42%}}.section-heading{grid-template-columns:minmax(240px,.8fr) minmax(320px,1.2fr);align-items:end;gap:2rem 4rem;margin-bottom:clamp(3rem,6vw,5.5rem);display:grid}.section-heading .eyebrow{grid-column:1/-1}.section-heading h2{max-width:14ch;font-family:var(--font-editorial);letter-spacing:-.055em;font-size:clamp(2.7rem,5vw,5.25rem);font-weight:400;line-height:.98}.section-intro{max-width:36rem;color:var(--color-ink-soft);justify-self:end;font-size:1rem;line-height:1.8}.approach{grid-template-columns:minmax(260px,.82fr) minmax(320px,1.18fr);gap:3rem clamp(3rem,8vw,8rem);display:grid}.approach-title-wrap h2{max-width:9ch;font-family:var(--font-editorial);letter-spacing:-.06em;margin-top:1.5rem;font-size:clamp(3rem,5.6vw,5.8rem);font-weight:400;line-height:.94}.approach-copy{align-self:end;max-width:38rem;padding-bottom:.5rem}.approach-copy p+p{margin-top:1.4rem}.approach-lead{color:var(--color-ink);font-family:var(--font-editorial);letter-spacing:-.025em;font-size:clamp(1.55rem,2.5vw,2.25rem);line-height:1.3}.approach-copy p:last-child{color:var(--color-ink-soft)}.approach-steps{border-top:1px solid var(--color-line);grid-column:1/-1;grid-template-columns:repeat(3,1fr);margin:2rem 0 0;padding:0;list-style:none;display:grid}.approach-steps li{border-right:1px solid var(--color-line);align-content:end;min-height:12rem;padding:1.5rem 1.5rem 1.75rem 0;display:grid}.approach-steps li+li{padding-left:2rem}.approach-steps li:last-child{border-right:0}.approach-steps span{color:var(--color-gold);letter-spacing:.12em;align-self:start;margin-bottom:2.5rem;font-size:.7rem;font-weight:700}.approach-steps strong{font-family:var(--font-editorial);font-size:clamp(1.6rem,2.4vw,2.4rem);font-weight:400;line-height:1.1}.approach-steps small{color:var(--color-ink-soft);margin-top:.45rem;font-size:.85rem}.works{background:var(--color-paper)}.works-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,3vw,3rem);display:grid}.work figure{background:var(--color-cream-deep);overflow:hidden}.work picture,.work picture img,.work figure>img{width:100%;height:100%}.work img{object-fit:contain;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.work:hover img{transform:scale(1.018)}.work--1{grid-row:auto}.work--1 figure,.work--2 figure,.work--3 figure{aspect-ratio:4/5}.work>figure{justify-content:center;align-items:center;display:flex}.work>figure>img{max-width:100%;max-height:100%}.work--2>figure>img{max-width:300px}.work-stages{flex-wrap:wrap;gap:1rem;margin-top:1rem;display:flex}.work .work-stages figure{aspect-ratio:auto;background:0 0;width:min(150px,50% - .5rem);overflow:visible}.work .work-stages img{width:100%;height:auto}.work-stages figcaption{margin-top:.35rem;font-size:.8rem;font-weight:700}.work-note{color:var(--color-ink-soft);margin-top:1rem;font-size:.85rem}.work-caption{border-bottom:1px solid var(--color-line);padding:1.25rem 3.2rem 1.5rem 0;position:relative}.work-caption p{color:var(--color-gold);letter-spacing:.14em;text-transform:uppercase;margin-bottom:.35rem;font-size:.68rem;font-weight:750}.work-caption h3{font-family:var(--font-editorial);letter-spacing:-.03em;font-size:clamp(1.5rem,2.3vw,2.2rem);font-weight:400;line-height:1.15}.work-caption>span{color:var(--color-ink-soft);letter-spacing:.1em;font-size:.68rem;position:absolute;top:1.3rem;right:0}.services{position:relative}.services:before{background:var(--color-line);content:"";width:min(1220px,100vw - 48px);height:1px;position:absolute;top:0;left:50%;transform:translate(-50%)}.service-list{border-top:1px solid var(--color-ink)}.service-row{border-bottom:1px solid var(--color-line);grid-template-columns:4rem minmax(0,.8fr) minmax(0,1.2fr);align-items:baseline;gap:2rem;padding-block:2rem;display:grid}.service-number{color:var(--color-gold);letter-spacing:.12em;font-size:.7rem;font-weight:700}.service-row h3{font-family:var(--font-editorial);letter-spacing:-.035em;font-size:clamp(1.6rem,2.5vw,2.55rem);font-weight:400;line-height:1.1}.service-row p{max-width:42rem;color:var(--color-ink-soft)}.about{color:var(--color-paper);background:var(--color-ink)}.about-inner{grid-template-columns:.35fr 1.05fr .8fr;align-items:start;gap:3rem clamp(2rem,5vw,5rem);display:grid}.about-mark{aspect-ratio:1;width:clamp(6rem,10vw,9rem);color:var(--color-gold);font-family:var(--font-editorial);letter-spacing:-.05em;border:1px solid #b48a45b3;border-radius:50%;place-items:center;font-size:clamp(2rem,4vw,3.3rem);display:grid}.about .eyebrow{color:#fffdf9a8}.about h2{max-width:12ch;font-family:var(--font-editorial);letter-spacing:-.055em;margin-top:1.5rem;font-size:clamp(2.8rem,5vw,5rem);font-weight:400;line-height:.98}.about-copy{color:#fffdf9bd;padding-top:2.2rem;font-size:1rem;line-height:1.85}.about-copy p+p{margin-top:1.4rem}.contact{color:var(--color-ink);background:var(--color-blush);position:relative;overflow:hidden}.contact:before{content:"";border:1px solid #b48a458c;border-radius:50%;width:34rem;height:34rem;position:absolute;top:-12rem;right:-12rem}.contact-inner{z-index:1;grid-template-columns:minmax(0,1.2fr) minmax(270px,.8fr);align-items:end;gap:2rem 5rem;display:grid;position:relative}.contact .eyebrow{grid-column:1/-1}.contact h2{max-width:12ch;font-family:var(--font-editorial);letter-spacing:-.065em;font-size:clamp(3rem,6vw,6rem);font-weight:400;line-height:.94}.contact p{max-width:31rem;color:var(--color-ink-soft);align-self:start;line-height:1.8}.contact .button{width:max-content;max-width:100%;color:var(--color-paper);background:var(--color-ink);grid-column:2;margin-top:.6rem}.contact .button:hover{color:var(--color-ink);border-color:var(--color-ink);background:0 0}.site-footer{color:var(--color-paper);background:#201b18;padding-block:2.4rem}.footer-inner{grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;display:grid}.footer-inner>div{flex-direction:column;width:max-content;line-height:1;display:flex}.footer-inner strong{font-family:var(--font-editorial);font-size:1.4rem;font-weight:400}.footer-inner div span{color:#fffdf98f;letter-spacing:.15em;text-transform:uppercase;align-self:flex-end;font-size:.55rem}.footer-inner p{color:#fffdf994;letter-spacing:.06em;font-size:.74rem}.footer-inner>a{letter-spacing:.08em;text-transform:uppercase;justify-self:end;font-size:.72rem;font-weight:700}@media (width<=980px){.header-inner{grid-template-columns:minmax(0,.9fr) minmax(0,2fr) minmax(0,1.1fr)}.main-nav{justify-self:center;gap:1.15rem}.main-nav a{font-size:.68rem}.hero{grid-template-columns:52% 48%;min-height:760px}.hero-copy{margin-right:2rem}.about-inner{grid-template-columns:.3fr 1fr}.about-copy{grid-column:2;padding-top:0}}@media (width<=760px){:root{--shell:min(680px, calc(100vw - 32px));--shell-narrow:min(680px, calc(100vw - 32px));--section-space:5rem}html{scroll-padding-top:8.5rem}.site-header{position:absolute}.header-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"brand action""nav nav";gap:.9rem 1rem;min-height:8rem;padding-block:1rem .85rem}.brand{grid-area:brand}.header-action{grid-area:action}.brand-name{font-size:1.45rem}.header-action{padding:.78rem .8rem;font-size:.61rem}.main-nav{grid-area:nav;justify-content:space-between;gap:.75rem;width:100%}.main-nav a{font-size:.64rem}.hero{flex-direction:column;min-height:auto;padding-top:8rem;display:flex}.hero-copy{width:var(--shell);order:1;margin:0 auto;padding-block:4rem 3.5rem}.hero h1{font-size:clamp(3.45rem,16vw,5.4rem)}.hero-media{aspect-ratio:4/5;order:2;min-height:0;margin-inline:1rem}.hero-media figcaption{bottom:1.25rem;right:1.25rem}.hero-actions{flex-direction:column;align-items:flex-start;gap:1rem}.section-heading,.approach,.contact-inner{grid-template-columns:minmax(0,1fr)}.section-heading{gap:1.5rem}.section-heading .eyebrow,.contact .eyebrow{grid-column:1}.section-intro{justify-self:start}.approach{gap:2rem}.approach-title-wrap h2{max-width:11ch}.approach-steps{grid-template-columns:1fr;margin-top:1rem}.approach-steps li,.approach-steps li+li{border-right:0;border-bottom:1px solid var(--color-line);grid-template-columns:3rem 1fr;min-height:0;padding:1.4rem 0}.approach-steps span{grid-row:span 2;margin:0}.approach-steps small{grid-column:2}.works-grid{grid-template-columns:1fr}.work--1{grid-row:auto}.work--1 figure,.work--2 figure,.work--3 figure{aspect-ratio:4/5}.work+.work{margin-top:1rem}.service-row{grid-template-columns:2.5rem 1fr;gap:.8rem 1rem;padding-block:1.5rem}.service-row p{grid-column:2}.about-inner{grid-template-columns:1fr}.about-mark{width:6.5rem}.about-copy{grid-column:1}.contact:before{top:-8rem;right:-15rem}.contact h2{max-width:10ch}.contact .button{grid-column:1}.footer-inner{grid-template-columns:1fr auto;gap:1.5rem}.footer-inner p{order:3;grid-column:1/-1}}@media (width<=390px){.main-nav a{letter-spacing:.04em;font-size:.59rem}.header-action{padding-inline:.65rem}.hero h1{font-size:3.3rem}}@media (width>=761px) and (width<=1099px){.hero{grid-template-columns:minmax(0,1fr);align-items:center;gap:clamp(2rem,4vw,4rem);min-height:auto;padding:9rem 2rem 3rem}.hero-copy{width:100%;max-width:650px;margin-inline:auto;padding-block:1.5rem}.hero-media{width:min(100%,560px);height:560px;min-height:0;margin-inline:auto}.hero h1{font-size:clamp(3.3rem,4.7vw,4.8rem);line-height:1}.hero-actions{flex-wrap:wrap}}.site-header{position:relative}.header-inner{flex-wrap:wrap;justify-content:space-between;padding-block:1rem;display:flex}.brand{flex:none}.brand-name,.brand-by,.main-nav a{white-space:nowrap}.main-nav{justify-content:center}.header-action{overflow-wrap:normal}.hero{padding-top:3rem}.footer-inner{flex-wrap:wrap;justify-content:space-between;display:flex}.footer-inner>a{white-space:nowrap}.footer-inner p{flex:0 auto}.section{container:section/inline-size}.service-list{container:rows/inline-size}.about-inner{grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr))}.about-copy{grid-column:auto}.approach{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr))}@container section (width<=40em){.section-heading{grid-template-columns:minmax(0,1fr)}.section-intro{justify-self:start}.contact-inner{grid-template-columns:minmax(0,1fr)}.contact .button{overflow-wrap:normal;grid-column:1}.works-grid{grid-template-columns:minmax(0,1fr)}.work--2>figure{width:min(100%,300px)}.approach-title-wrap h2{max-width:none}}@container rows (width<=40em){.service-row{grid-template-columns:minmax(0,1fr);gap:.75rem}.service-row p{grid-column:1}.faq-row{grid-template-columns:minmax(0,1fr);gap:.75rem}}@media (width>=1100px){.hero{grid-template-columns:repeat(auto-fit,minmax(min(100%,25rem),1fr))}.hero-media{justify-self:center;width:min(100%,560px)}}@media (width<=760px){.hero{padding-top:0}.main-nav{order:3;justify-content:space-between}.header-inner{gap:.9rem 1rem}}@container section (width<=10em){#faq-title{width:calc(100% + 16px);max-width:none;margin-inline:-8px}}@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}}.faq-row[data-astro-cid-lcdefpme]{border-bottom:1px solid var(--color-ink);grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:2rem;padding:1.5rem 0;display:grid}.faq-row[data-astro-cid-lcdefpme] h3[data-astro-cid-lcdefpme],.faq-row[data-astro-cid-lcdefpme] p[data-astro-cid-lcdefpme]{overflow-wrap:anywhere;margin:0}@media (width<=800px){.faq-row[data-astro-cid-lcdefpme]{grid-template-columns:minmax(0,1fr);gap:.75rem}}
