:root{--ink:#101010;--red:#ef332c;--line:#dedede;--muted:#555;--white:#fff;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#fff;color:var(--ink);font:16px/1.6 'DM Sans',Arial,sans-serif}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--red);outline-offset:4px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.08;letter-spacing:-.045em;font-weight:500}h1{font-size:clamp(2.9rem,6.8vw,6.8rem)}h2{font-size:clamp(1.9rem,3.4vw,3.2rem)}h3{font-size:1.5rem}em{font-style:normal;color:var(--red)}p{max-width:70ch}p+p{margin-top:1rem}.wrap{width:min(1320px,88%);margin-inline:auto;padding-block:4rem}.kicker{font-size:.8rem;line-height:1.5;text-transform:uppercase;letter-spacing:.13em;font-weight:600;margin-bottom:1.25rem}.lede{font-size:clamp(1rem,1.6vw,1.18rem);line-height:1.65;color:#444;margin-top:1.5rem;max-width:40rem}.actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;margin-top:1.75rem}.btn{display:inline-flex;justify-content:center;align-items:center;text-align:center;min-height:48px;background:var(--ink);color:#fff;padding:.75rem 1.35rem;border:1px solid var(--ink);font-size:.9rem;font-weight:500}.btn:hover{background:var(--red);border-color:var(--red);color:#fff}.btn-outline{background:transparent;color:var(--ink)}.text-link{display:inline-block;border-bottom:1px solid currentColor;padding:0 0 .15rem;font-size:.9375rem;font-weight:500}.text-link:hover{color:var(--red)}
.skip-link{position:absolute;top:-100px;left:20px;background:white;padding:10px;z-index:100}.skip-link:focus{top:10px}.site-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1rem 4%;border-bottom:1px solid var(--line);background:#fffffff5;backdrop-filter:blur(12px);min-height:83px}.wordmark{font:2.3rem/1 'Italiana',Georgia,serif;display:flex;gap:.7rem;align-items:center;white-space:nowrap}.wordmark span{font:600 .59rem/1.4 'DM Sans',Arial,sans-serif;letter-spacing:.15em;max-width:70px;white-space:normal}.site-header nav{display:flex;gap:1.35rem;align-items:center}.site-header nav a{font-size:.875rem;white-space:nowrap;padding:.3rem 0;border-bottom:2px solid transparent}.site-header nav a[aria-current],.site-header nav a:hover{border-bottom-color:var(--red)}.header-cta{white-space:nowrap;background:var(--ink);color:white;padding:.7rem 1.1rem;font-size:.875rem}.menu-toggle{display:none;background:#fff;color:var(--ink);border:1px solid var(--ink);width:44px;height:44px;flex-direction:column;gap:6px;justify-content:center;align-items:center;cursor:pointer}.menu-toggle span{width:20px;height:2px;background:currentColor}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.site-footer{padding:2rem 6%;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;border-top:1px solid var(--line);font-size:.8rem}.site-footer>a:first-child{font-weight:600}
.home-hero{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:6%;padding-block:3.2rem}.home-hero h1{font-size:clamp(3rem,6.1vw,6.25rem);letter-spacing:-.065em}.home-hero .kicker{max-width:35ch}.hero-photo{max-width:440px;justify-self:end;position:relative}.hero-photo img{max-height:520px;object-fit:contain}.hero-photo figcaption{font-size:.75rem;letter-spacing:.04em;padding:.65rem 0 0;color:var(--muted)}.section-title{margin-bottom:2rem}.section-title .kicker{margin-bottom:.65rem}.title-row{display:flex;align-items:end;justify-content:space-between;gap:2rem}.title-row>.text-link{flex-shrink:0}.home-services{border-top:1px solid var(--line)}.three-up{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.three-up article{border-top:1px solid var(--ink);padding-top:1.15rem}.number{color:var(--red);font-size:.8rem}.three-up h3{margin-top:.65rem}.three-up p{margin:.8rem 0 1.25rem;color:#555;max-width:30ch}.selected-section{background:var(--ink);color:white}.selected-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}.selected-card{min-width:0}.selected-card img{height:260px;object-fit:contain;background:#1c1c1c}.selected-card figcaption{padding-top:.9rem;display:flex;flex-direction:column;gap:.2rem}.selected-card strong{font-size:1rem;font-weight:500}.selected-card span{font-size:.8rem;color:#bbb}.selected-card:hover strong{color:#ff756e}.about-short{display:grid;grid-template-columns:1fr 2fr;gap:3rem;border-bottom:1px solid var(--line)}.about-short p:not(.kicker){margin:1.25rem 0;max-width:50ch;color:#555}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.review-grid figure{border-top:1px solid var(--line);padding-top:1.5rem}.review-grid blockquote{margin:0;font-size:1.1rem;line-height:1.6}.review-grid figcaption,.all-reviews figcaption{margin-top:1.3rem;display:flex;flex-direction:column;font-size:.875rem}.review-grid figcaption span,.all-reviews figcaption span{color:#666}.book-banner{padding:3rem 6%;background:var(--red);display:flex;justify-content:space-between;align-items:center;gap:3rem}.book-banner h2{max-width:23ch}.book-banner .btn{flex-shrink:0}
.page-intro{width:min(1320px,88%);margin:auto;padding:4rem 0 3rem}.page-intro h1{max-width:19ch}.page-intro+.wrap{padding-top:1.5rem}.split-feature{display:grid;grid-template-columns:1fr 1fr;gap:5%;align-items:center}.split-feature>div{min-width:0}.split-feature p:not(.kicker){color:#555;margin-top:1.25rem}.split-feature .btn{margin-top:1.75rem}.split-feature img{max-height:420px;object-fit:contain;background:#f5f5f5}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem 2.5rem}.detail-grid article{border-top:1px solid var(--line);padding:1.3rem 0}.detail-grid p{margin:.8rem 0 1rem;color:#555}.event-feature{background:#f5f5f5}.client-projects{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}.client-project{background:white;padding:2.25rem;min-width:0;scroll-margin-top:110px}.client-project h3{margin-bottom:1rem}.client-project>p{color:#555}.client-project .project-category{font-size:.8rem;color:#b2231d;letter-spacing:.02em;margin-bottom:1rem}.client-project .project-deliverables{border-top:1px solid var(--line);font-size:.8rem;padding-top:1rem;margin-top:1.5rem}.project-link{display:inline-block;margin-top:1rem;text-decoration:underline;text-underline-offset:4px;font-size:.9rem}.project-production{grid-column:1/-1}.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:2rem;background:#f5f5f5}.photo-pair img{height:500px;object-fit:contain}.simple-callout{display:flex;gap:3rem;justify-content:space-between;align-items:center;border-top:1px solid var(--line)}.simple-callout p{margin-top:1rem;color:#555}.simple-callout .btn{flex-shrink:0}.about-story{display:grid;grid-template-columns:1fr 1fr;gap:5%}.about-story>div>p{color:#444}.method-section{background:var(--ink);color:white}.four-up{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}.four-up article{border-top:1px solid #555;padding-top:1rem}.four-up p{margin-top:1rem;color:#ccc}.all-reviews{display:grid;grid-template-columns:1fr 1fr;gap:2rem 3rem}.all-reviews figure{margin:0;border-top:1px solid var(--line);padding-top:1.5rem}.all-reviews blockquote{margin:0;font-size:1.05rem}.all-reviews figure:first-child{background:#f5f5f5;padding:2rem;border-top:3px solid var(--red)}
.gallery-categories{padding:1rem 6%;display:flex;gap:.75rem;flex-wrap:wrap;border-block:1px solid var(--line);position:sticky;top:83px;z-index:20;background:#fff}.gallery-categories a{padding:.5rem .75rem;font-size:.875rem;background:#f5f5f5}.gallery-categories a:hover{background:var(--ink);color:#fff}.gallery-category{position:relative;border-bottom:1px solid var(--line);scroll-margin-top:170px}.gallery-category h2{margin-bottom:2rem}.gallery-category h3{margin:3rem 0 1.5rem;scroll-margin-top:170px}.gallery-grid{columns:3;column-gap:1rem}.gallery-grid figure{break-inside:avoid;margin:0 0 1rem}.gallery-grid img{height:auto}.anchor-alias{position:absolute;top:0;scroll-margin-top:170px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:start}.contact-intro{position:sticky;top:120px}.contact-intro h1{font-size:clamp(3rem,5.5vw,5.5rem)}.direct-contact{margin-top:2rem;border-top:1px solid var(--line);padding-top:1.5rem;overflow-wrap:anywhere}.direct-contact span{display:block;font-size:.8rem;color:#555;margin-bottom:.2rem}.form-panel label{display:block;font-size:.875rem;margin-bottom:1.3rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-panel input,.form-panel select,.form-panel textarea{display:block;width:100%;padding:.8rem;margin-top:.4rem;border:1px solid #aaa;border-radius:0;background:white;min-height:48px}.form-panel textarea{resize:vertical}.form-submit{padding:.8rem 1.4rem;background:var(--ink);color:white;border:0;min-height:48px;cursor:pointer}.form-note{font-size:.8rem;color:#666;margin-top:1rem}.form-success{padding:1.5rem;background:#f5f5f5;margin-top:1.5rem}.form-success h2{font-size:1.6rem}.form-success p{margin:1rem 0}
@media(min-width:1600px){.home-hero{padding-block:4rem}.hero-photo img{max-height:560px}}
@media(max-width:1150px){.site-header{gap:1rem}.site-header nav{gap:.9rem}.wordmark span{display:none}.selected-card img{height:220px}}
@media(max-width:950px){.site-header{flex-wrap:wrap;min-height:78px}.site-header .header-cta{margin-left:auto}.menu-toggle{display:flex}.site-header nav{display:none;position:absolute;left:0;right:0;top:100%;padding:1rem 6%;background:white;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:.3rem;max-height:calc(100dvh - 78px);overflow:auto}.site-header nav.is-open{display:flex}.site-header nav a{padding:.6rem 0}.home-hero{gap:4%;grid-template-columns:1.15fr .85fr}.home-hero h1{font-size:clamp(2.5rem,6.2vw,5rem)}.hero-photo img{max-height:420px}.selected-grid{grid-template-columns:1fr 1fr}.selected-card img{height:300px}.detail-grid{grid-template-columns:1fr 1fr}.four-up{grid-template-columns:1fr 1fr}.gallery-categories{top:78px}.contact-layout{gap:4%}.contact-intro{position:static}}
@media(max-width:640px){html{scroll-padding-top:100px}.wrap{width:88%;padding-block:2.75rem}.site-header{padding:.8rem 6%;gap:.8rem;min-height:74px}.wordmark{font-size:2rem}.header-cta{font-size:.8rem;padding:.65rem .85rem}.home-hero{grid-template-columns:1fr;padding-top:2.5rem;gap:2rem}.home-hero h1{font-size:clamp(3rem,12vw,4.5rem)}.home-hero .lede{max-width:34ch}.hero-photo{max-width:none;justify-self:stretch}.hero-photo img{height:310px;object-fit:contain;background:#eee}.hero-photo figcaption{font-size:.75rem}.home-services .three-up{grid-template-columns:1fr;gap:1.7rem}.three-up p{max-width:none;margin:.6rem 0 .9rem}.title-row{align-items:start;flex-direction:column;gap:1rem}.selected-grid{gap:1.5rem 1rem}.selected-card img{height:205px}.selected-card strong{font-size:.9rem}.selected-card span{font-size:.75rem}.about-short{grid-template-columns:1fr;gap:0}.review-grid{grid-template-columns:1fr;gap:2rem}.review-grid blockquote{font-size:1rem}.book-banner{padding:2.5rem 6%;align-items:start;flex-direction:column;gap:1.5rem}.page-intro{padding:3rem 0 2rem}.page-intro h1{font-size:clamp(2.65rem,10vw,4rem)}.split-feature,.about-story,.contact-layout{grid-template-columns:1fr;gap:2rem}.split-feature>div:first-child{order:0}.detail-grid{grid-template-columns:1fr;gap:.5rem}.client-projects,.all-reviews{grid-template-columns:1fr}.client-project{padding:1.5rem}.project-production{grid-column:auto}.photo-pair{gap:1rem}.photo-pair img{height:280px}.simple-callout{align-items:start;flex-direction:column;gap:1.5rem}.four-up{gap:1.5rem}.gallery-categories{position:static;padding:.75rem 6%;gap:.5rem}.gallery-categories a{font-size:.8rem;padding:.5rem}.gallery-grid{columns:2;column-gap:.75rem}.gallery-category,.gallery-category h3{scroll-margin-top:100px}.gallery-grid figure{margin-bottom:.75rem}.form-row{grid-template-columns:1fr;gap:0}.contact-intro h1{font-size:3.3rem}.site-footer{flex-wrap:wrap;gap:.75rem 1.5rem}.site-footer p{width:100%;order:3}.all-reviews figure:first-child{padding:1.5rem}.all-reviews blockquote{font-size:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.hero-photo.hero-logo{width:100%;max-width:470px;justify-self:end}
.hero-photo.hero-logo img{height:auto;max-height:none;aspect-ratio:1;object-fit:contain;background:#fff}
.selected-card img{height:auto;aspect-ratio:1;object-fit:cover}
.selected-card:nth-child(1) img,.selected-card:nth-child(2) img{object-position:center top}
.client-project-with-media{grid-column:1/-1}
.project-media{columns:3;column-gap:1rem;margin-top:2rem}
.project-media figure{break-inside:avoid;margin:0 0 1rem}
.project-media img{width:100%;height:auto}
.project-video{margin-top:2rem;max-width:360px}
.project-video video{display:block;width:100%;height:auto;aspect-ratio:512/910;background:#111}
.project-video figcaption{font-size:.8rem;color:#555;margin-top:.75rem}
.project-videos{display:grid;grid-template-columns:repeat(2,minmax(0,360px));gap:1.5rem}
@media(max-width:640px){.project-videos{grid-template-columns:minmax(0,360px)}}
@media(max-width:640px){.project-media{columns:2;column-gap:.75rem}.project-media figure{margin-bottom:.75rem}}

.home-service-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.home-service-links,.service-links{display:flex;flex-wrap:wrap;gap:.6rem 1.25rem;align-items:center}
.service-links{margin-top:1.5rem}
.service-links .text-link{padding:.55rem 0 .2rem}
.rate-section{border-top:1px solid var(--line);scroll-margin-top:.5rem}
.rate-intro{margin-top:.85rem;color:var(--muted)}
.rate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.rate-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.rate-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:clamp(1.15rem,2.5vw,2rem);border:1px solid var(--line);border-top:3px solid var(--ink);background:#fff}
.rate-price{margin:.7rem 0 0;font-size:clamp(1.8rem,3.2vw,2.75rem);line-height:1.15;letter-spacing:-.045em;font-weight:600}
.rate-qualifier{font-size:.875rem;font-weight:500;letter-spacing:normal;white-space:nowrap}
.rate-description{margin-top:1rem;color:var(--muted)}
.rate-list-label{margin-top:.85rem;font-size:.875rem;font-weight:600}
.rate-list,.rate-factors{padding-inline-start:1.15rem;color:var(--muted);margin:.85rem 0 0}
.rate-list li+li,.rate-factors li+li{margin-top:.3rem}
.rate-list-label+.rate-list{margin-top:.35rem}
.rate-card .text-link{margin-top:auto;padding-top:1.25rem}
.rate-note{margin-top:1.25rem;padding:1rem 1.2rem;border-left:3px solid var(--red);background:#f7f7f7}
.rate-factors{columns:2;column-gap:2rem}
.rate-factors li{break-inside:avoid}
.service-feature-image{max-height:450px;object-fit:cover}
@media(max-width:950px){.home-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:740px){.rate-grid{grid-template-columns:1fr}.rate-factors{columns:1}}
