@font-face{font-family:Newsreader;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/eb251072d3b5478c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Newsreader;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/e92f802bb57ccffe-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Newsreader;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/4b9bb515ce6d026f-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Newsreader;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/eb251072d3b5478c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Newsreader;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/e92f802bb57ccffe-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Newsreader;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/4b9bb515ce6d026f-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Newsreader;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7088c2b12ccac062-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Newsreader;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/665e920483964785-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Newsreader;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/5611c55482296524-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Newsreader;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/7088c2b12ccac062-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Newsreader;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/665e920483964785-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Newsreader;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/5611c55482296524-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Newsreader Fallback;src:local("Times New Roman");ascent-override:69.68%;descent-override:25.12%;line-gap-override:0.00%;size-adjust:105.48%}.__className_170677{font-family:Newsreader,Newsreader Fallback}.__variable_170677{--font-display-family:"Newsreader","Newsreader Fallback"}@font-face{font-family:Figtree;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d9fef5bf2f64cf9a-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Figtree;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/de42cfb9a3b980ae-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Figtree;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d9fef5bf2f64cf9a-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Figtree;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/de42cfb9a3b980ae-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Figtree Fallback;src:local("Arial");ascent-override:94.32%;descent-override:24.82%;line-gap-override:0.00%;size-adjust:100.72%}.__className_b2808e{font-family:Figtree,Figtree Fallback;font-style:normal}.__variable_b2808e{--font-body-family:"Figtree","Figtree Fallback"}:root{--paper:#f7f3ec;--cream:#efe6d8;--sand:#e4d5c3;--stone:#cbb9a6;--line:rgba(62,48,38,0.14);--line-strong:rgba(62,48,38,0.22);--ink:#3e3026;--ink-soft:#645246;--umber:#8c5336;--umber-deep:#73442c;--btn-text:#f7f3ec;--error:#8a3d32;--focus:#8c5336;--gutter:clamp(1.3rem,5vw,3.2rem);--content:72rem;--measure:38rem;--header-height:4.75rem;--section-y:clamp(3.4rem,6.5vw,5.75rem);--radius:0.2rem;--font-display:var(--font-display-family),"Iowan Old Style",Palatino,Georgia,serif;--font-body:var(--font-body-family),"Segoe UI",system-ui,sans-serif;--ease:cubic-bezier(0.22,1,0.36,1);--poster-warm-a:#efe6d8;--poster-warm-b:#d7c4ae;--poster-warm-c:#8c5336;--poster-sage-a:#e7ebe4;--poster-sage-b:#c5cfc4;--poster-sage-c:#4d5d4e;--poster-olive-a:#f3eee6;--poster-olive-b:#d5d0c2;--poster-olive-c:#5d6448;--poster-teal-a:#e7eeec;--poster-teal-b:#c5d4d2;--poster-teal-c:#315a5a;--poster-plum-a:#f1ebe8;--poster-plum-b:#d8c8d0;--poster-plum-c:#5a3d58;--poster-stone-a:#efeae2;--poster-stone-b:#d4c8b8;--poster-stone-c:#6b5a48}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 1rem)}body,html{margin:0;min-height:100%;overflow-x:clip}body{color:var(--ink);background-color:var(--paper);background-image:radial-gradient(ellipse 80% 46% at 8% -10%,rgba(140,83,54,.07),transparent 58%),radial-gradient(ellipse 70% 40% at 100% 0,rgba(62,48,38,.05),transparent 55%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.24 0 0 0 0 0.19 0 0 0 0 0.15 0 0 0 0.035 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");font-family:var(--font-body);font-size:clamp(1.02rem,.18vw + .98rem,1.08rem);line-height:1.7;letter-spacing:.005em;-webkit-font-smoothing:antialiased}body.nav-open{overflow:hidden}img,svg{max-width:100%;display:block}a{color:var(--umber-deep);text-decoration-thickness:1px;text-underline-offset:.18em}a:hover{color:var(--ink)}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.skip-link{position:absolute;left:1rem;top:-4rem;z-index:80;background:var(--ink);color:var(--paper);padding:.55rem .9rem}.skip-link:focus{top:1rem}.wrap{width:min(100% - (var(--gutter) * 2),var(--content));margin-inline:auto}.wrap.narrow{width:min(100% - (var(--gutter) * 2),40rem)}.eyebrow{margin:0 0 .9rem;color:var(--umber);font-size:.74rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase}.logo-word,h1,h2,h3{font-family:var(--font-display);font-weight:500;letter-spacing:-.03em;line-height:1.14;text-wrap:balance;overflow-wrap:break-word;-webkit-hyphens:manual;hyphens:manual;color:var(--ink)}h1,h2,h3{margin:0 0 .7em}h1{font-size:clamp(2.05rem,4.6vw + .7rem,4.15rem)}h2{font-size:clamp(1.7rem,2.2vw + 1rem,2.45rem)}h3{font-size:clamp(1.25rem,2vw,1.5rem);letter-spacing:-.02em}.lede{max-width:34rem;margin:0;color:var(--ink-soft);font-size:clamp(1.08rem,1.4vw,1.22rem);line-height:1.65}p{margin:0 0 1em}p:last-child{margin-bottom:0}em{font-family:var(--font-display);font-style:italic;font-weight:400}.btn,button.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:3rem;padding:.7rem 1.3rem;border:1px solid var(--umber);border-radius:var(--radius);background:var(--umber);color:var(--btn-text);font-family:var(--font-body);font-size:.92rem;font-weight:500;letter-spacing:.01em;line-height:1.3;text-align:center;white-space:normal;text-decoration:none;cursor:pointer;transition:background .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease)}.btn:hover{background:var(--umber-deep);border-color:var(--umber-deep);color:var(--btn-text)}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-strong)}.btn-ghost:hover{background:var(--cream);border-color:var(--ink);color:var(--ink)}.btn:disabled{cursor:wait}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.8rem}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:40;height:var(--header-height);background:color-mix(in srgb,var(--paper) 92%,transparent);border-bottom:1px solid var(--line)}body.nav-open .site-header{background:var(--paper)}.header-inner{justify-content:space-between;height:var(--header-height);gap:1.5rem}.header-inner,.logo{display:flex;align-items:center}.logo{text-decoration:none;color:var(--ink);min-width:0}.logo img{display:block;height:2.7rem;width:auto}.footer-logo{display:block;width:8.6rem;height:auto;margin:0 0 1.15rem}.nav{display:flex;align-items:center;gap:1.55rem;z-index:55}.nav a{color:var(--ink-soft);text-decoration:none;font-size:.92rem}.nav a:hover,.nav a[aria-current=page]{color:var(--ink)}.nav a[aria-current=page]{text-decoration:underline;text-underline-offset:.28em}.nav a.nav-cta{color:var(--btn-text);background:var(--umber);text-decoration:none}.nav a.nav-cta:hover{background:var(--umber-deep);border-color:var(--umber-deep);color:var(--btn-text)}.nav-cta{min-height:2.6rem;padding:.45rem .95rem;border:1px solid var(--umber);border-radius:var(--radius)}.nav-toggle{display:none;width:2.6rem;height:2.6rem;padding:0;border:0;background:transparent;cursor:pointer}.nav-toggle span{display:block;width:1.15rem;height:1px;margin:.28rem auto;background:var(--ink)}.site-footer{border-top:1px solid var(--line);padding:2.8rem 0 2.4rem;margin-top:var(--section-y)}.footer-inner{display:grid;grid-gap:1.6rem;gap:1.6rem}.footer-top{justify-content:space-between;gap:1.6rem 2.4rem;align-items:flex-start}.footer-groups,.footer-top{display:flex;flex-wrap:wrap}.footer-groups{gap:1.2rem 2.4rem}.footer-nav{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem}.footer-nav a{color:var(--ink-soft);text-decoration:none;font-size:.92rem}.footer-nav a:hover{color:var(--ink)}.footer-copy,.footer-note{margin:0;color:var(--ink-soft);font-size:.88rem}.footer-note+.footer-note{margin-top:.85rem}.footer-copy{padding-top:1.2rem;border-top:1px solid var(--line)}.footer-brand{font-size:1.5rem;margin:0 0 .35rem}.hero{padding:clamp(1.4rem,4vw,2.6rem) 0 clamp(2.8rem,6vw,4.2rem)}.hero-stage{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);grid-gap:clamp(2rem,5vw,4.2rem);gap:clamp(2rem,5vw,4.2rem);align-items:center}.hero-copy h1{max-width:min(8.4em,100%);margin-bottom:1rem;font-size:clamp(2.7rem,5.2vw,5.05rem);line-height:.96;letter-spacing:-.04em;text-wrap:wrap}.hero h1 em{font-weight:400;color:var(--umber-deep)}.hero-stage{min-width:0}.hero-note{margin-top:1.35rem;color:var(--ink-soft);font-size:.95rem}.hero-art{display:grid}.hero-mock{display:block;color:inherit;text-decoration:none}.hero-mock:first-child{grid-area:1/1;width:min(84%,32rem);justify-self:start}.hero-mock.is-second{grid-area:1/1;width:min(62%,22rem);justify-self:end;align-self:end;margin-top:22%;z-index:1}.hero-mock.is-third{grid-area:1/1;width:min(46%,16.5rem);justify-self:start;align-self:end;margin-top:48%;z-index:2}.hero-mock:hover .browser{transform:translateY(-4px)}.hero-mock.is-second .browser,.hero-mock.is-third .browser{box-shadow:0 28px 60px rgba(62,48,38,.16)}.hero-actions .btn{min-height:3.35rem;padding-inline:1.45rem;font-size:1rem}.hero .btn-ghost{border-color:var(--ink);color:var(--ink)}.browser{display:block;overflow:hidden;border:1px solid var(--line-strong);border-radius:.7rem;background:#efe6d8;box-shadow:0 22px 50px rgba(62,48,38,.1)}.browser-bar{display:flex;gap:.32rem;padding:.55rem .7rem;background:#e6d9c8}.browser-bar i{width:.42rem;height:.42rem;border-radius:50%;background:#b89a82}.showcase-shot{position:relative;display:block;aspect-ratio:1024/554;background:var(--paper)}.band-sand,.band-taupe{padding:clamp(3.2rem,7vw,5.4rem) 0}.band-taupe{background:#efe6d8}.band-sand{background:var(--sand)}.band-ink{background:#3e3026;padding:clamp(3.6rem,8vw,6.2rem) 0}.band-ink,.band-ink .statement,.band-ink h2{color:#f7f3ec}.band-ink .lede,.band-ink p{color:rgba(247,243,236,.84)}.band-ink .eyebrow{color:#e4cbb8}.band-ink .btn{background:#f7f3ec;border-color:#f7f3ec;color:#3e3026}.band-ink .btn:hover{background:#efe6d8;border-color:#efe6d8;color:#3e3026}.band-statement{background:#3e3026;padding:clamp(3.4rem,8vw,6rem) 0}.statement{max-width:16em;margin:0;color:#f7f3ec;font-family:var(--font-display);font-size:clamp(2.1rem,4.4vw,3.7rem);font-weight:500;line-height:1.12;letter-spacing:-.035em}.statement em{color:#f3e2d4}.intro-grid{display:grid;grid-template-columns:minmax(8rem,.4fr) minmax(0,1fr);grid-gap:1rem 2rem;gap:1rem 2rem;align-items:start}.intro-grid h2{max-width:14em}.cta-close{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.6rem 2rem;align-items:flex-end}.cta-close h2{max-width:12em;margin-bottom:.35em}.service-rows{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:3.2rem minmax(0,1fr) auto;grid-gap:1rem 1.6rem;gap:1rem 1.6rem;align-items:center;padding:1.45rem 0;border-bottom:1px solid var(--line)}.service-index{margin:0;color:var(--umber);font-family:var(--font-display);font-size:1.35rem;letter-spacing:-.03em}.band-sand .eyebrow,.band-sand .service-index{color:var(--umber-deep)}.service-row h3{margin-bottom:.25rem}.service-row p{margin:0;color:var(--ink-soft)}.service-more{margin-top:1.4rem}.showcase{display:grid;grid-gap:clamp(2.8rem,6vw,4.6rem);gap:clamp(2.8rem,6vw,4.6rem)}.showcase-row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);grid-gap:clamp(1.2rem,3vw,2.6rem);gap:clamp(1.2rem,3vw,2.6rem);align-items:center;color:inherit;text-decoration:none}.showcase-row.is-flipped{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}.showcase-row.is-flipped .browser{order:2}.showcase-copy{display:grid;grid-gap:.45rem;gap:.45rem;justify-items:start}.showcase-copy h2,.showcase-copy h3{margin:.1rem 0 .2rem;font-size:clamp(1.9rem,2.4vw,2.7rem)}.showcase-place,.showcase-summary{color:var(--ink-soft)}.showcase-place{font-size:.92rem}.showcase-row .btn{margin-top:.7rem}.showcase-row:hover{color:inherit}.showcase-row:hover .browser{transform:translateY(-4px)}.showcase-row:hover .btn{background:var(--umber-deep);border-color:var(--umber-deep);color:var(--btn-text)}.band-statement+.section,.band-taupe+.section{padding-top:var(--section-y)}.browser,.project-card{transition:transform .45s var(--ease),box-shadow .45s var(--ease)}.project-card:hover .project-frame{transform:translateY(-4px);box-shadow:0 16px 36px rgba(62,48,38,.08)}.project-frame{transition:transform .45s var(--ease),box-shadow .45s var(--ease)}@media (prefers-reduced-motion:no-preference){.reveal.is-armed{opacity:0;transform:translateY(14px)}.reveal.is-in{opacity:1;transform:none;transition:opacity .7s var(--ease),transform .7s var(--ease)}}.rule{height:1px;background:var(--line);border:0;margin:0}.rule+.section{padding-top:var(--section-y)}.section{padding:0 0 var(--section-y)}#selected-work{scroll-margin-top:calc(var(--header-height) + .75rem)}.section-head{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-gap:1.5rem 3rem;gap:1.5rem 3rem;margin-bottom:clamp(2rem,5vw,3.4rem);align-items:flex-end}.section-head.single{grid-template-columns:1fr;max-width:38rem}.cta-close h2,.intro-grid h2,.section-head h2,.split h2{font-size:clamp(2.05rem,2.4vw + .85rem,3.05rem);line-height:1.06}.faq-list,.include-list,.need-list{display:grid;grid-gap:0;gap:0;border-top:1px solid var(--line)}.process-band{margin:clamp(2.8rem,6vw,4.5rem) 0 1rem}.process-list{display:grid;grid-gap:0;gap:0;margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.why-list{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-gap:1.6rem 3rem;gap:1.6rem 3rem;margin:.4rem 0 1.6rem}.why-list article:first-child{grid-row:1/span 2;align-self:end;padding-bottom:.4rem}.why-list h3{margin-bottom:.4rem;font-size:clamp(1.55rem,2vw,2.15rem)}.why-list p{margin:0;color:var(--ink-soft)}.faq,.include,.need,.process{display:grid;grid-template-columns:minmax(12rem,.85fr) minmax(0,1.15fr);grid-gap:1rem 2.4rem;gap:1rem 2.4rem;padding:1.55rem 0;border-bottom:1px solid var(--line)}.faq h3,.include h3,.need h3,.process h3{margin:0}.process-number{display:block;margin-bottom:.35rem;color:var(--umber);font-size:.74rem;letter-spacing:.16em}.include{grid-template-columns:1fr}.include p{margin:0}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1.2rem;gap:1.2rem}.project-grid.work{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card{display:flex;flex-direction:column;min-height:100%;color:inherit;text-decoration:none}.project-card:hover{color:inherit}.project-card .btn{align-self:flex-start;margin-top:.35rem}.project-card:hover .btn{background:var(--umber-deep);border-color:var(--umber-deep);color:var(--btn-text)}.project-frame{position:relative;aspect-ratio:1024/554;overflow:hidden;border:1px solid var(--line);background:var(--paper)}.project-browser,.project-frame-large{margin-bottom:1.6rem}.project-copy{margin-top:2.2rem}.project-visit-row{margin-top:1.6rem}.project-shot{object-fit:contain;object-position:center top}.poster{display:flex;align-items:flex-end;aspect-ratio:1024/554;padding:1rem 1.05rem;border:1px solid var(--line);background:var(--cream)}.poster-label{color:var(--ink);font-size:.78rem;font-weight:500;letter-spacing:.06em;line-height:1.4;text-transform:uppercase}.poster-warm{background:var(--poster-warm-a)}.poster-sage{background:var(--poster-sage-a)}.poster-olive{background:var(--poster-olive-a)}.poster-teal{background:var(--poster-teal-a)}.poster-plum{background:var(--poster-plum-a)}.poster-stone{background:var(--poster-stone-a)}.project-meta{display:grid;grid-gap:.35rem;gap:.35rem;padding:1.05rem 0 .2rem}.project-meta p{margin:0;color:var(--ink-soft)}.project-kicker{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.project-card h3{margin:.1rem 0 .35rem;font-size:clamp(1.4rem,1.2vw + 1rem,1.8rem)}.project-note,.project-visit{margin-top:.45rem;font-size:.92rem}.project-visit{position:relative;justify-self:start;color:var(--umber-deep);font-weight:500}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.testimonial-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.testimonial:last-child:nth-child(odd),.testimonial:only-child{grid-column:1/-1}.testimonial{margin:0;padding:1.6rem 1.5rem 1.35rem;background:color-mix(in srgb,var(--cream) 72%,transparent);border:1px solid var(--line)}.testimonial blockquote,.testimonial p{margin:0}.testimonial p{font-family:var(--font-display);font-size:clamp(1.35rem,2.2vw,1.75rem);font-style:italic;font-weight:400;line-height:1.38;letter-spacing:-.03em;color:var(--ink)}.testimonial p:before{content:"“";color:var(--umber)}.testimonial p:after{content:"”";color:var(--umber)}.testimonial figcaption{display:grid;grid-gap:.15rem;gap:.15rem;margin-top:1.2rem;padding-top:.85rem;border-top:1px solid var(--line)}.testimonial cite{font-style:normal;font-weight:500}.testimonial figcaption span{color:var(--ink-soft);font-size:.92rem}.split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-gap:clamp(1.8rem,5vw,4.5rem);gap:clamp(1.8rem,5vw,4.5rem);align-items:start}.panel{padding:1.6rem 1.5rem;background:color-mix(in srgb,var(--cream) 72%,transparent);border:1px solid var(--line)}.panel h2,.panel h3{margin-bottom:.55em}.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1rem;gap:1rem}.offer-grid h2{font-size:clamp(1.45rem,2.2vw,1.85rem)}.offer-grid .panel p{margin:0}.offer-grid .actions{margin-top:1.1rem}.more{margin:1.4rem 0 0}.service-list{display:grid;grid-gap:1rem;gap:1rem}.service-offer{padding:1.6rem 1.5rem 1.45rem;background:color-mix(in srgb,var(--cream) 72%,transparent);border:1px solid var(--line);scroll-margin-top:calc(var(--header-height) + 1rem)}.service-offer h2{max-width:18em}.service-offer h3{margin-top:1.3rem}.service-offer ul{margin:.2rem 0 0;padding-left:1.15rem}.service-offer li{margin:.35rem 0}.service-offer .actions{margin-top:1.25rem}.quote{margin:0;font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2.05rem);font-style:italic;font-weight:400;line-height:1.28;letter-spacing:-.03em}.cta-band{padding:0 0 var(--section-y)}.cta-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.5rem 2rem;align-items:flex-end;padding:2.2rem 0 0;border-top:1px solid var(--line)}.cta-inner h2{margin-bottom:.4em;max-width:16ch}.page{padding:clamp(3.2rem,7vw,5.2rem) 0 0}.page-hero{max-width:38rem;margin-bottom:clamp(2.4rem,6vw,4rem)}.about-hero{padding-bottom:clamp(1rem,3vw,2rem)}.about-hero-grid,.about-note{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(16rem,.85fr);grid-gap:clamp(1.6rem,4vw,3.4rem);gap:clamp(1.6rem,4vw,3.4rem);align-items:end}.about-hero-grid>*,.about-note>*,.about-point>*,.portfolio-hero>*,.section-head>*{min-width:0}.about-note{grid-template-columns:minmax(8rem,.35fr) minmax(0,1fr);align-items:start}.about-hero h1{max-width:min(8em,100%);font-size:clamp(2.8rem,5.4vw,4.8rem);line-height:.96;letter-spacing:-.04em}.portrait-frame{margin:0}.portrait-slot{aspect-ratio:4/5;background:linear-gradient(160deg,rgba(140,83,54,.08),transparent 42%),#efe6d8;border:1px solid var(--line-strong)}.portrait-frame figcaption{margin-top:.7rem;color:var(--ink-soft);font-size:.92rem}.about-point{display:grid;grid-template-columns:minmax(10rem,.42fr) minmax(0,1fr);grid-gap:.6rem 2rem;gap:.6rem 2rem;padding:1.45rem 0;border-top:1px solid var(--line)}.about-point:last-child{border-bottom:1px solid var(--line)}.about-point h2{margin:0;font-size:clamp(1.55rem,2vw,2rem)}.about-point p{margin:0;max-width:38rem}.about-more{margin-top:1.6rem}.portfolio-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);grid-gap:1rem 3rem;gap:1rem 3rem;align-items:end;margin-bottom:clamp(2rem,5vw,3.2rem)}.portfolio-hero h1{max-width:min(8em,100%);font-size:clamp(2.8rem,5.2vw,4.8rem);line-height:.96;letter-spacing:-.04em}.filter-bar{display:flex;flex-wrap:wrap;gap:.55rem;margin:0 0 clamp(2rem,4vw,3rem)}.filter-bar button{display:inline-flex;align-items:center;gap:.55rem;min-height:2.75rem;padding:.4rem .9rem;border:1px solid var(--line-strong);border-radius:999px;background:transparent;color:var(--ink);font:inherit;font-size:.95rem;cursor:pointer}.filter-bar button span{color:var(--ink-soft);font-size:.82rem}.filter-bar button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.filter-bar button[aria-pressed=true] span{color:rgba(247,243,236,.75)}.filter-empty{max-width:36rem;margin:0;color:var(--ink-soft)}.project-hero{margin:calc(clamp(3.2rem, 7vw, 5.2rem) * -1) 0 0;padding:clamp(3.2rem,7vw,5.2rem) 0 clamp(2.2rem,5vw,3.4rem)}.palette-warm{background:#f7f3ec}.palette-sage{background:#f1f3ee}.palette-olive{background:#f3f1ea}.palette-teal{background:#f0f3f2}.palette-plum{background:#f6f2ef}.palette-stone{background:#f4f0ea}.project-hero-grid{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);grid-gap:clamp(1.4rem,4vw,3.2rem);gap:clamp(1.4rem,4vw,3.2rem);align-items:end}.project-hero-grid.is-flipped{grid-template-columns:minmax(0,1.28fr) minmax(0,.72fr)}.project-hero-grid.is-flipped .project-hero-copy{order:2}.project-hero h1{max-width:9em;font-size:clamp(2.7rem,4.8vw,4.6rem);line-height:.96;letter-spacing:-.04em}.project-figure{margin:0}.project-figure figcaption{margin-top:.7rem;color:var(--ink-soft);font-size:.92rem}.project-browser{margin-bottom:0}.project-story{display:grid;grid-gap:clamp(2.2rem,5vw,3.6rem);gap:clamp(2.2rem,5vw,3.6rem);padding:clamp(2.8rem,6vw,4.6rem) 0 var(--section-y)}.project-block{display:grid;grid-template-columns:minmax(8rem,.34fr) minmax(0,1fr);grid-gap:.8rem 2rem;gap:.8rem 2rem;align-items:start}.project-block h2{margin:0;font-size:clamp(1.45rem,2vw,1.9rem)}.project-block p,.project-block ul{max-width:38rem;margin:0}.project-block p+p,.project-block ul{margin-top:.9rem}.project-block ul{padding-left:1.1rem;color:var(--ink-soft)}.project-story>section>h2{margin-bottom:1.2rem}.prose{max-width:40rem}.prose h2{margin-top:2.2rem}.prose ul{margin:.4rem 0 1rem;padding-left:1.15rem}.prose li{margin:.4rem 0}.guide-examples{margin-top:3rem}.guide-examples h2{max-width:18em}.guide-examples .lede{max-width:40rem}.related-guides{margin-top:2.6rem;padding-top:1.4rem;border-top:1px solid var(--line)}.related-guides ul{margin:0;padding:0;list-style:none;display:grid;grid-gap:.9rem;gap:.9rem}.related-guides a{font-weight:500}.related-guides p{margin:.15rem 0 0;color:var(--ink-soft)}.offer-grid .more{margin-top:.85rem}.form{display:grid;grid-gap:1rem;gap:1rem}.form-row{display:grid;grid-gap:.4rem;gap:.4rem}.form-two{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.form label{font-size:.88rem;font-weight:500}.form input,.form select,.form textarea{width:100%;min-height:2.9rem;padding:.78rem .85rem;border:1px solid var(--line-strong);border-radius:var(--radius);background:color-mix(in srgb,var(--paper) 80%,white);color:var(--ink);font-family:inherit;font-size:1rem}.consent input:focus-visible,.form input:focus-visible,.form select:focus-visible,.form textarea:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-color:var(--umber)}.form textarea{min-height:9.5rem;resize:vertical}.form .hp{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.form-hint{margin:.4rem 0 0}.consent,.form-hint{color:var(--ink-soft);font-size:.92rem}.consent{display:flex;gap:.7rem;align-items:flex-start}.consent input{width:auto;margin-top:.28rem}.form-status{margin:0}.form-status-error{color:var(--error)}.form-success{padding:1.6rem 0}.contact-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);grid-gap:clamp(2rem,5vw,4.2rem);gap:clamp(2rem,5vw,4.2rem);align-items:start}.next-steps{margin:.2rem 0 0;padding-left:1.2rem;color:var(--ink-soft)}.next-steps li{margin:.4rem 0}.page-hero h2{margin-top:1.6rem;font-size:clamp(1.45rem,2vw,1.8rem)}.stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:2.4rem}.stat{background:var(--paper);padding:1.15rem 1.1rem 1.25rem}.stat strong{display:block;font-family:var(--font-display);font-size:1.55rem;font-weight:500;letter-spacing:-.03em}.stat span{color:var(--ink-soft);font-size:.9rem}@media (max-width:1040px){.project-grid,.project-grid.work{grid-template-columns:repeat(2,minmax(0,1fr))}.offer-grid{grid-template-columns:1fr}}@media (max-width:860px){.about-hero-grid,.about-note,.about-point,.contact-layout,.faq,.form-two,.hero-stage,.intro-grid,.need,.portfolio-hero,.process,.project-block,.project-hero-grid,.project-hero-grid.is-flipped,.section-head,.service-row,.showcase-row,.showcase-row.is-flipped,.split,.stat-row,.testimonial-list,.why-list{grid-template-columns:minmax(0,1fr)}.browser,.hero-art,.hero-copy,.hero-copy h1,.showcase-copy{min-width:0;max-width:100%}.nav-toggle{display:grid;place-content:center;grid-gap:.34rem;gap:.34rem;width:2.75rem;height:2.75rem;z-index:60}.nav-toggle span{width:1.2rem;margin:0}.nav-toggle[aria-expanded=true] span:first-child{transform:translateY(.22rem) rotate(40deg)}.nav-toggle[aria-expanded=true] span:last-child{transform:translateY(-.22rem) rotate(-40deg)}.nav{position:fixed;inset:0;display:none;flex-direction:column;justify-content:center;align-items:flex-start;gap:1.15rem;padding:5.5rem var(--gutter) 2.5rem;background:var(--paper);overflow:auto}body.nav-open .nav{display:flex}.nav a{font-family:var(--font-display);font-size:clamp(1.7rem,7vw,2.2rem);line-height:1.15;color:var(--ink)}.nav a.nav-cta{font-family:var(--font-body);font-size:1rem;margin-top:.4rem}.hero-copy h1{max-width:100%;font-size:clamp(2.35rem,10vw,3.6rem)}.why-list article:first-child{grid-row:auto;align-self:start}.hero-art{display:flex;flex-direction:column;gap:1rem}.hero-mock,.hero-mock.is-second,.hero-mock.is-third,.hero-mock:first-child{position:relative;width:100%;grid-area:auto;margin-top:0;justify-self:stretch}.project-hero-grid.is-flipped .project-hero-copy,.showcase-row.is-flipped .browser{order:0}.cta-close .btn,.cta-inner .btn,.offer-grid .btn,.service-offer .btn,.service-row .btn{width:100%}}@media (max-width:640px){.filter-bar{display:grid;grid-template-columns:1fr}.filter-bar button{width:100%;justify-content:space-between}.hero-copy h1{font-size:clamp(2.05rem,8.4vw,2.45rem)}.logo img{height:2.15rem}.footer-logo{width:7.4rem}.logo-word,h1,h2,h3{text-wrap:wrap}.project-grid,.project-grid.work{grid-template-columns:1fr}.actions .btn{width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition:none!important}.hero-mock:hover .browser,.project-card:hover .project-frame,.showcase-row:hover .browser{transform:none}}