:root{--bg:#f4f0e8;--ink:#080808;--muted:#5f584d;--line:#d7d0c5;--field:#fffaf2;--focus:#ff4d00;--white:#fff;--font:"Nunito Sans", system-ui, sans-serif;--font-display:"Source Serif 4", "Times New Roman", serif;--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2.5rem;--space-5:4rem;--space-6:6rem;--width:1120px;--width-narrow:720px;--ease:cubic-bezier(.22, 1, .36, 1);--duration:.28s;--duration-slow:.45s;--shadow:0 12px 32px #08080812}@media (prefers-reduced-motion:reduce){:root{--duration:.01ms;--duration-slow:.01ms}}*,:before,:after{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth;text-size-adjust:100%;min-height:100%;overflow-x:hidden}body{min-height:100dvh;color:var(--ink);font-family:var(--font);letter-spacing:-.011em;background:radial-gradient(circle at 12% 0%, #ff4d000f, transparent 28rem), linear-gradient(180deg, #ffffff59, transparent 22rem), var(--bg);flex-direction:column;margin:0;font-size:1.0625rem;line-height:1.62;display:flex;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;transition:color var(--duration) var(--ease)}a:hover{color:var(--focus)}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.skip-link{left:var(--space-2);z-index:20;background:var(--ink);color:var(--white);letter-spacing:.06em;text-transform:uppercase;padding:.6rem .9rem;font-size:.8rem;font-weight:800;text-decoration:none;position:absolute;top:-100px}.skip-link:focus{top:var(--space-2);color:var(--white)}.wrap{width:min(100% - 2rem, var(--width));margin-inline:auto}.wrap-narrow{width:min(100% - 2rem, var(--width-narrow));margin-inline:auto}.site-header{z-index:50;border-bottom:1px solid var(--line);-webkit-backdrop-filter:saturate(1.15)blur(12px);background:#f4f0e8e0;position:sticky;top:0}.site-header.is-nav-open{z-index:90;background:var(--field);-webkit-backdrop-filter:none}.header-inner{min-width:0;min-height:3.75rem;padding-block:var(--space-1);justify-content:space-between;align-items:center;gap:.5rem;display:flex}.logo{flex:none;display:block}.logo img{width:min(118px,30vw);height:auto}.nav-list{align-items:center;gap:var(--space-2);margin:0;padding:0;list-style:none;display:flex}.nav-desktop .nav-list a{position:relative}.nav-list a{letter-spacing:.12em;text-transform:uppercase;transition:color var(--duration) var(--ease);font-size:.78rem;font-weight:800;text-decoration:none}.nav-desktop .nav-list a:after{content:"";background:var(--focus);transform-origin:0;height:2px;transition:transform var(--duration) var(--ease);position:absolute;bottom:-.35rem;left:0;right:0;transform:scaleX(0)}.nav-desktop .nav-list a:hover:after,.nav-desktop .nav-list a:focus-visible:after,.nav-desktop .nav-list a[aria-current=page]:after{transform:scaleX(1)}.nav-list a[aria-current=page]{color:var(--focus)}.nav-desktop{display:none}.header-cta{flex:none;justify-content:center;align-items:center;min-height:2.2rem;margin-left:auto;padding:.35rem .6rem;font-size:.68rem;display:inline-flex}.mobile-nav-contact{margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--line)}.mobile-nav-contact a{text-transform:none;letter-spacing:.02em;font-weight:700}.nav-burger{border:1px solid var(--ink);width:2.25rem;height:2.25rem;color:var(--ink);cursor:pointer;background:0 0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.nav-burger-bars,.nav-burger-bars:before,.nav-burger-bars:after{width:1rem;height:1.5px;transition:transform var(--duration) var(--ease), opacity var(--duration) var(--ease);background:currentColor;display:block}.nav-burger-bars{position:relative}.nav-burger-bars:before,.nav-burger-bars:after{content:"";position:absolute;left:0}.nav-burger-bars:before{top:-5px}.nav-burger-bars:after{top:5px}.site-header.is-nav-open .nav-burger-bars{background:0 0}.site-header.is-nav-open .nav-burger-bars:before{top:0;transform:rotate(45deg)}.site-header.is-nav-open .nav-burger-bars:after{top:0;transform:rotate(-45deg)}.mobile-nav{z-index:70;visibility:hidden;pointer-events:none;transition:visibility var(--duration);position:fixed;inset:0}.mobile-nav.is-open{visibility:visible;pointer-events:auto;transition:visibility}.mobile-nav-backdrop{opacity:0;transition:opacity var(--duration) var(--ease);background:#08080861;position:absolute;inset:0}.mobile-nav.is-open .mobile-nav-backdrop{opacity:1}.mobile-nav-panel{border-left:1px solid var(--line);background:var(--field);width:min(17.5rem,82vw);transition:transform var(--duration) var(--ease);padding:4.5rem 1.25rem 1.5rem;position:absolute;top:0;bottom:0;right:0;transform:translate(100%)}.mobile-nav.is-open .mobile-nav-panel{transform:translate(0)}.mobile-nav-panel .nav-list{flex-direction:column;align-items:stretch;gap:.15rem}.mobile-nav-panel .nav-list a{align-items:center;min-height:2.75rem;display:flex}body.nav-locked{overflow:hidden}.site-main{width:100%;padding-block:var(--space-5) var(--space-6);flex:1 0 auto}.page-kicker,.eyebrow{margin:0 0 var(--space-2);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:.76rem;font-weight:800}h1,h2,h3{font-family:var(--font-display);text-transform:none;letter-spacing:-.028em;text-wrap:balance;margin:0;font-weight:600;line-height:1.18}h1{max-width:20ch;font-size:clamp(2rem,4.4vw,3.3rem);line-height:1.06}h2{font-size:clamp(1.4rem,2.6vw,2rem)}h3{font-size:1.05rem;font-family:var(--font);letter-spacing:-.01em;font-weight:750}.lead,.prose p,.card p{color:var(--ink)}.lead{margin:var(--space-3) 0 0;max-width:40rem;color:var(--muted);font-size:clamp(1.05rem,2vw,1.2rem)}.actions{gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.section{margin-top:var(--space-6)}.section-head{gap:var(--space-2);margin-bottom:var(--space-4);display:grid}.grid{gap:var(--space-3);display:grid}.grid-2,.grid-3{grid-template-columns:1fr}.card{height:100%;padding:var(--space-3);border:1px solid var(--line);transition:border-color var(--duration) var(--ease), background var(--duration) var(--ease), box-shadow var(--duration) var(--ease), transform var(--duration) var(--ease);background:#fffaf2b8;text-decoration:none;display:block}a.card:hover{color:inherit;border-color:var(--ink);background:var(--field);box-shadow:var(--shadow);transform:translateY(-2px)}.card h2,.card h3{margin-bottom:var(--space-2)}.card p{color:var(--muted);margin:0}.card-meta{margin:0 0 var(--space-1);letter-spacing:.14em;text-transform:uppercase;color:var(--focus);font-size:.72rem;font-weight:800}.project-card{border:1px solid var(--line);background:var(--field);transition:border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease), transform var(--duration) var(--ease);text-decoration:none;display:block;overflow:hidden}a.project-card:hover{color:inherit;border-color:var(--ink);box-shadow:var(--shadow);transform:translateY(-2px)}.project-card img{transition:transform var(--duration-slow) var(--ease)}a.project-card:hover img{transform:scale(1.03)}.editorial-cols{gap:var(--space-3) var(--space-4);max-width:56rem;display:grid}.editorial-col h3{margin-bottom:var(--space-1)}.editorial-col p{color:var(--muted);margin:0}.cta-panel{padding:var(--space-4);border:1px solid var(--line);background:var(--field)}.cta-panel h2{margin:0}.cta-panel>p{margin:var(--space-2) 0 0;max-width:40rem;color:var(--muted)}.cta-panel .actions,.cta-panel .contact-paths{margin-top:var(--space-3)}.project-card img{aspect-ratio:16/10;object-fit:cover;width:100%}.project-card-body{padding:var(--space-3)}.project-card h3{margin-bottom:var(--space-1)}.project-card p{color:var(--muted);margin:0}.badge{margin-bottom:var(--space-2);border:1px solid var(--focus);color:var(--focus);letter-spacing:.1em;text-transform:uppercase;padding:.25rem .45rem;font-size:.68rem;font-weight:800;display:inline-block}.note{margin:var(--space-3) 0 0;padding:var(--space-2) var(--space-3);border-left:3px solid var(--focus);color:var(--ink);background:#ff4d000f}.note p{margin:0}.btn{border:1px solid var(--ink);background:var(--ink);min-height:3rem;color:var(--white);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background var(--duration) var(--ease), border-color var(--duration) var(--ease), color var(--duration) var(--ease), transform var(--duration) var(--ease);border-radius:0;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1.15rem;font-family:inherit;font-size:.78rem;font-weight:800;text-decoration:none;display:inline-flex}.btn:hover,.btn:focus-visible{background:var(--focus);border-color:var(--focus);color:var(--white)}.btn:not(.header-cta):not(.btn-secondary):hover{transform:translateY(-1px)}.btn-secondary{color:var(--ink);background:0 0}.btn-secondary:hover,.btn-secondary:focus-visible{background:var(--ink);color:var(--white);border-color:var(--ink)}.quote-form{gap:var(--space-2);margin-top:var(--space-4);display:grid;position:relative}@media (width>=800px){.quote-form{grid-template-columns:1fr 1fr}.quote-form .hp,.quote-form .field:has(#name),.quote-form .field:has(#subject),.quote-form .field-file,.quote-form .btn{grid-column:1/-1}}.field{gap:.4rem;display:grid}.field label{letter-spacing:.1em;text-transform:uppercase;font-size:.78rem;font-weight:800}.field input,.field textarea{border:1px solid var(--line);background:var(--field);width:100%;color:var(--ink);font:inherit;transition:border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease), background var(--duration) var(--ease);border-radius:0;padding:.95rem .9rem;font-size:1rem}.field textarea{resize:vertical;min-height:10rem}.field input[type=file]{cursor:pointer;padding:.65rem}.field input[type=file]::file-selector-button{border:1px solid var(--ink);background:var(--ink);color:var(--white);font:inherit;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;margin-right:.75rem;padding:.45rem .8rem;font-size:.72rem;font-weight:800}.label-optional{color:var(--muted);letter-spacing:.04em;text-transform:none;font-weight:600}.field-hint{color:var(--muted);margin:0;font-size:.85rem}.field input:focus,.field textarea:focus{border-color:var(--focus);background:var(--white);outline:none;box-shadow:0 0 0 3px #ff4d001f}.hp{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn:disabled{opacity:.7;cursor:wait}.form-status{margin:var(--space-4) 0 0;padding:var(--space-2) var(--space-3);border-left:3px solid var(--ink);background:#fffaf2b3}.form-error{border-left-color:var(--focus);background:#ff4d000f}.form-note{margin:var(--space-3) 0 0;color:var(--muted);font-size:.92rem}.faq{gap:var(--space-3);margin:var(--space-3) 0 0;display:grid}.faq dt{text-transform:uppercase;letter-spacing:.02em;font-size:1.05rem;font-weight:800;line-height:1.2}.faq dd{margin:var(--space-1) 0 0;max-width:40rem;color:var(--muted)}.related-links{margin:var(--space-2) 0 0;gap:.65rem;padding:0;list-style:none;display:grid}.related-links a{letter-spacing:.04em;font-weight:800;text-decoration:none}.eyebrow a{color:inherit;text-decoration:none}.contact-paths{margin:var(--space-3) 0 0;letter-spacing:.01em;flex-wrap:wrap;gap:.75rem 1.5rem;padding:0;font-size:.95rem;font-weight:750;list-style:none;display:flex}.contact-paths a{text-decoration:none}.gallery{gap:var(--space-2);display:grid}.gallery figure{border:1px solid var(--line);background:var(--field);margin:0}.gallery figcaption{color:var(--muted);padding:.7rem .9rem;font-size:.85rem}.photo-grid{gap:var(--space-2);grid-template-columns:1fr;display:grid}.photo-tile{background:var(--line);text-decoration:none;display:block;overflow:hidden}.photo-tile img{aspect-ratio:4/3;object-fit:cover;filter:saturate(.96)contrast(1.02);width:100%;transition:transform var(--duration-slow) var(--ease), opacity var(--duration) var(--ease);transform:scale(1.001)}.photo-tile:hover img{transform:scale(1.04)}.photo-open{display:none}.photo-open:target{align-content:center;justify-items:center;gap:var(--space-2);z-index:60;padding:var(--space-3);background:#080808f5;display:grid;position:fixed;inset:0;overflow:auto}.photo-open:target img{width:min(100%,72rem);height:auto}.photo-open figcaption,.photo-open-close{color:var(--white);font-size:.9rem}.photo-open figcaption{text-align:center;max-width:60ch;line-height:1.5}.photo-open-close{letter-spacing:.1em;text-transform:uppercase;transition:border-color var(--duration) var(--ease), background var(--duration) var(--ease);border:1px solid #fff6;justify-self:end;padding:.5rem .9rem;font-size:.78rem;font-weight:800;text-decoration:none}.photo-open-close:hover,.photo-open-close:focus-visible{color:var(--white);border-color:var(--white);background:#ffffff1f}.blog-index{width:min(100% - 2rem,880px);margin-inline:auto}.blog-list{gap:var(--space-3);display:grid}.blog-item{align-items:flex-start;gap:var(--space-2);padding-bottom:var(--space-3);border-bottom:1px solid var(--line);display:flex}.blog-thumb{flex:0 0 5.5rem;width:5.5rem;height:5.5rem;overflow:hidden}.blog-thumb img{object-fit:cover;width:100%;height:100%;transition:transform var(--duration-slow) var(--ease)}.blog-item:hover .blog-thumb img{transform:scale(1.05)}.blog-item-body{flex:1;min-width:0}.blog-item-body .blog-meta{margin-top:.45rem}.blog-list h2{max-width:28ch;margin:var(--space-1) 0;text-transform:none;letter-spacing:-.03em;font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.15}.blog-list h2 a{transition:color var(--duration) var(--ease);text-decoration:none}.blog-list p{max-width:40rem;color:var(--muted);margin:0}.blog-meta{margin:var(--space-2) 0 0;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;align-items:center;gap:.65rem .9rem;font-size:.74rem;font-weight:800;display:flex}.blog-kind-job{color:var(--focus)}.blog-article h1{text-transform:none;letter-spacing:-.03em;max-width:22ch;font-size:clamp(1.8rem,3.4vw,2.7rem);line-height:1.08}.blog-article h2{margin-top:var(--space-4);text-transform:none;letter-spacing:-.02em;line-height:1.2}.blog-hero{width:100%;margin-top:var(--space-4);object-fit:cover}.prose :where(p,ul){margin:var(--space-2) 0 0}.prose ul{padding-left:1.15rem}.prose img{width:100%;margin-top:var(--space-3)}.prose .business{border-left:3px solid var(--ink);background:#fffaf2b3;margin:1.5rem 0;padding:1rem 1.15rem}.site-footer{border-top:1px solid var(--line);background:#fffaf266;padding-block:.7rem}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.35rem 1.25rem;display:flex}.footer-meta{color:var(--muted);margin:0;font-size:.8rem;font-weight:500}.footer-links{flex-wrap:wrap;gap:.3rem .85rem;margin:0;padding:0;font-size:.8rem;font-weight:600;list-style:none;display:flex}.footer-links a{color:var(--muted);text-decoration:none}.footer-links a:hover{color:var(--focus)}@media (width<=799px){.footer-inner{flex-direction:column;align-items:flex-start;gap:.3rem}}.project-hero,img.project-hero{object-fit:cover;width:100%;max-height:28rem}.home-hero{margin-top:calc(-1 * var(--space-5));background:var(--bg);position:relative}.page-hero{margin-top:calc(-1 * var(--space-5));background:#111;position:relative;overflow:hidden}.page-hero-media{position:absolute;inset:0}.page-hero-media img{object-fit:cover;width:100%;height:100%}.page-hero-media:after{content:"";pointer-events:none;background:linear-gradient(#0808081a,#0808080f 45%,#08080847 100%);position:absolute;inset:0}.page-hero-copy{z-index:2;min-height:clamp(17rem,42vh,26rem);padding-block:var(--space-5) var(--space-4);align-items:flex-end;display:flex;position:relative}.hero-media{background:#111;height:16.5rem;position:relative;overflow:hidden}.hero-slides{position:absolute;inset:0}.hero-slide{opacity:0;visibility:hidden;margin:0;transition:opacity .55s,visibility .55s;position:absolute;inset:0}.hero-slide.is-active{opacity:1;visibility:visible}.hero-media:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(#08080814,#0808080a 45%,#f4f0e873 100%);position:absolute;inset:0}.hero-slide img{object-fit:cover;opacity:.94;filter:saturate(.96);width:100%;height:100%}.hero-slide figcaption{z-index:2;background:var(--bg);color:var(--ink);padding:.25rem .5rem;font-size:.7rem;font-weight:600;position:absolute;top:.7rem;right:.7rem}.hero-copy-wrap{z-index:2;position:relative}.hero-copy-card{box-sizing:border-box;width:min(100%,34rem);max-width:100%;padding:var(--space-3);border:1px solid var(--line);background:#f4f0e8f0;overflow:hidden}.hero-copy-card h1{max-width:none;font-size:clamp(1.9rem,3.2vw,2.7rem)}.hero-copy-card .lead{max-width:none;margin-top:var(--space-2);font-size:1rem}.hero-copy-card .actions{margin-top:var(--space-3)}.hero-call{margin:var(--space-2) 0 0;color:var(--muted);font-size:.92rem;font-weight:600}.hero-call a{color:var(--ink);letter-spacing:.02em;text-underline-offset:3px;padding-block:.35rem;font-weight:800;text-decoration-thickness:2px}.hero-controls{z-index:3;align-items:center;gap:.4rem;display:flex;position:absolute;bottom:.7rem;left:.7rem;right:auto}.hero-nav{border:1px solid var(--ink);background:var(--bg);width:2.4rem;min-height:2.4rem;color:var(--ink);cursor:pointer;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:1.15rem;font-weight:600;line-height:1;display:inline-flex}.hero-nav:hover,.hero-nav:focus-visible{background:var(--focus);border-color:var(--focus);color:var(--white)}.hero-dots{align-items:center;gap:.3rem;margin-left:.2rem;display:flex}.hero-dots button{border:1px solid var(--ink);background:var(--bg);cursor:pointer;width:.55rem;height:.55rem;padding:0}.hero-dots button[aria-current=true]{background:var(--focus);border-color:var(--focus)}@media (prefers-reduced-motion:reduce){.hero-slide,.nav-burger-bars,.nav-burger-bars:before,.nav-burger-bars:after,.mobile-nav,.mobile-nav-backdrop,.mobile-nav-panel,.card,a.card,.btn,.photo-tile img,.blog-thumb img,.field input,.field textarea{transition:none;transform:none}}@media (width<=799px){body{font-size:1rem}.site-main{padding-block:1.25rem 3rem}.home-hero,.page-hero{margin-top:-1.25rem}.page-hero-copy{min-height:15rem;padding-block:var(--space-4) 0}.page-hero-copy.wrap{width:100%}.section{margin-top:2.75rem}.section-head{margin-bottom:var(--space-2)}.hero-media{height:14.5rem}.hero-copy-card{border-left:0;border-right:0;width:100%;padding:1.15rem 1rem}.hero-copy-card h1{font-size:1.45rem}.hero-copy-card .lead{font-size:.95rem}.hero-copy-wrap.wrap{width:100%}.hero-controls{bottom:.55rem;left:.6rem}.hero-nav{width:2.6rem;min-height:2.6rem}.hero-dots button{width:.7rem;height:.7rem}.actions{margin-top:var(--space-3);flex-direction:column;align-items:stretch}.actions .btn{width:100%}.photo-grid{grid-template-columns:1fr 1fr;gap:.4rem}.header-inner{gap:.4rem;min-height:3.1rem}.logo img{width:min(96px,28vw)}.header-cta{min-height:2.2rem;padding:.32rem .55rem;font-size:.66rem}.contact-paths{flex-direction:column;gap:0}.contact-paths a{align-items:center;min-height:2.75rem;display:flex}.footer-links{gap:.15rem .7rem}.footer-links a{align-items:center;min-height:2.4rem;display:inline-flex}.faq dt{text-transform:none;letter-spacing:-.01em;font-size:1rem}.photo-open:target{padding:1rem .75rem 1.5rem}.card{padding:1.15rem 1rem}.quote-form .btn,.cta-panel .actions .btn{width:100%}.cta-panel{padding:var(--space-3)}.blog-list h2{max-width:none;font-size:1.08rem}.blog-list p{font-size:.95rem}.photo-open-close{align-items:center;min-height:2.75rem;display:inline-flex}.btn{min-height:3rem}.header-cta.btn{min-height:2.2rem}}@media (width>=800px){.editorial-cols{grid-template-columns:1fr 1fr}.nav-desktop{margin-left:auto;display:block}.nav-desktop+.header-cta{margin-left:var(--space-3)}.nav-burger,.mobile-nav{display:none}.logo img{width:min(140px,22vw)}.header-cta{min-height:3rem;padding:.85rem 1.15rem;font-size:.78rem}.nav-toggle{display:none}.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:1fr 1fr 1fr}.photo-grid{grid-template-columns:1fr 1fr}.home-hero{min-height:min(78vh,42rem)}.hero-media{height:auto;position:absolute;inset:0}.hero-copy-wrap{z-index:2;min-height:min(78vh,42rem);padding-block:var(--space-5) var(--space-4);align-items:flex-end;display:flex;position:relative}.hero-copy-card{width:min(34rem,100% - 2rem);max-width:34rem;padding:var(--space-3) var(--space-4)}.hero-controls{left:auto;right:max(1rem, calc((100% - var(--width)) / 2));bottom:1.25rem}.blog-thumb{flex-basis:8rem;width:8rem;height:8rem}}@media (width>=1024px){.header-inner{min-height:5rem}.photo-grid{grid-template-columns:1fr 1fr 1fr}}
