:root{--page:#f5f2ec;--surface:#ebe3da;--ink:#111310;--muted:#6b665f;--accent:#c86045;--line:rgb(17 19 16/.18);--focus:#c86045;--serif:Georgia,"Times New Roman",serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--pad:clamp(1rem,4vw,4.5rem);--section:clamp(4rem,9vw,8rem)}
*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:var(--page);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration-thickness:from-font;text-underline-position:from-font;text-decoration-skip-ink:auto}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,p{margin-block-start:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.1;text-wrap:balance}h1{font-size:clamp(2.75rem,7vw,6.8rem);letter-spacing:-.04em}h2{font-size:clamp(2.1rem,4.5vw,4.6rem);letter-spacing:-.025em}h3{font-size:clamp(1.55rem,2.2vw,2rem)}p{max-width:70ch;text-wrap:pretty}.skip-link{position:fixed;z-index:100;inset-block-start:.75rem;inset-inline-start:.75rem;padding:.7rem 1rem;background:var(--ink);color:var(--page);transform:translateY(-180%)}.skip-link:focus{transform:none}.site-header{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.25rem var(--pad);border-block-end:1px solid var(--line)}.brand{display:block;flex:0 1 20rem}.brand img{width:min(100%,20rem);height:auto}.site-header nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.25rem 1.5rem}.site-header nav a,.site-footer nav a{font-size:.82rem;text-transform:uppercase;letter-spacing:.13em;text-decoration:none}.site-header nav a:hover,.site-footer nav a:hover{text-decoration:underline}.hero,.section-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.88fr)}.home-hero{min-height:calc(100svh - 7rem);border-block-end:1px solid var(--line)}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:var(--section) var(--pad)}.hero-copy h1{max-width:10ch}.lede{font-family:var(--serif);font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.45;max-width:38ch}.eyebrow,.folio{font-size:.75rem;font-weight:650;letter-spacing:.2em;text-transform:uppercase}.eyebrow{color:var(--muted);margin-block-end:1.5rem}.image-frame{margin:0;overflow:hidden;outline:1px solid rgb(0 0 0/.1);outline-offset:-1px;background:var(--surface)}.image-frame img{width:100%;height:100%;object-fit:cover}.hero-image img{min-height:100%;object-position:center}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 1.5rem;margin-block-start:1.5rem}.button{display:inline-flex;min-height:2.75rem;align-items:center;justify-content:center;border:1px solid var(--ink);border-radius:.25rem;padding:.7rem 1.1rem;font-weight:650;text-decoration:none;transition-property:color,background-color,transform;transition-duration:120ms;transition-timing-function:cubic-bezier(.2,0,0,1)}.button.primary{background:var(--ink);color:var(--page)}.button.secondary{background:transparent;color:var(--ink)}.button:active{transform:scale(.96)}.button:disabled{cursor:wait;opacity:.68}.text-link{font-weight:650;text-underline-offset:.28em}.about{padding:var(--section) var(--pad);gap:clamp(2rem,7vw,7rem);align-items:center}.about .portrait{max-width:34rem}.about>div{max-width:40rem}.services,.selected-work{padding:var(--section) var(--pad);border-block-start:1px solid var(--line)}.section-heading{max-width:54rem;margin-block-end:clamp(2rem,5vw,4rem)}.section-heading.split{display:flex;justify-content:space-between;gap:2rem;max-width:none;align-items:end}.section-heading.split>p{max-width:28rem}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,2vw,2rem)}.service-card .image-frame{aspect-ratio:3/4;margin-block-end:1.3rem}.service-card h3{margin-block-end:.75rem}.service-card p:last-child{color:var(--muted)}.folio{margin-block-end:.5rem}.work-reel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,2rem)}.work-reel figure{margin:0}.work-reel img{width:100%;aspect-ratio:3/4;object-fit:cover;outline:1px solid rgb(0 0 0/.1);outline-offset:-1px}.work-reel figcaption{display:flex;gap:1rem;padding-block:.8rem;border-block-end:1px solid var(--line);font-family:var(--serif);font-size:1.2rem}.work-reel figcaption span{font:600 .68rem/1.6 var(--sans);letter-spacing:.15em}.section-link{display:inline-block;margin-block-start:2rem}.blog-teaser{align-items:center;gap:clamp(2rem,7vw,7rem);padding:var(--section) var(--pad);background:var(--surface)}.blog-teaser .image-frame{aspect-ratio:16/10}.closing-cta{padding:var(--section) var(--pad);text-align:center}.closing-cta>*{margin-inline:auto}.page-hero{padding:var(--section) var(--pad);border-block-end:1px solid var(--line)}.page-hero h1{max-width:13ch}.page-hero.compact h1{font-size:clamp(2.75rem,6vw,5rem)}.method{padding:var(--section) var(--pad)}.text-column{max-width:78rem}.article-card{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,7vw,7rem);align-items:center;padding:var(--section) var(--pad)}.article-card h2{font-size:clamp(2rem,4vw,4rem)}.article-hero{padding:var(--section) var(--pad) 0}.article-hero h1{font-size:clamp(2.7rem,6vw,5.8rem);max-width:16ch}.article-hero .image-frame{margin-block-start:3rem;aspect-ratio:16/9}.article-body{max-width:68ch;margin-inline:auto;padding:var(--section) 1rem}.article-body section{margin-block-end:3.5rem}.article-body h2{font-size:clamp(1.8rem,3vw,2.5rem)}.article-body p{font-family:var(--serif);font-size:1.16rem;line-height:1.7}.article-closing{padding-block-start:2rem;border-block-start:1px solid var(--line)}.contact-layout{display:grid;grid-template-columns:minmax(16rem,.65fr) minmax(0,1.35fr);gap:clamp(2rem,8vw,8rem);padding:var(--section) var(--pad)}.contact-aside h2{font-size:2rem}.contact-aside a{overflow-wrap:break-word}.contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.field.full,.form-footer,.form-status,.form-alert{grid-column:1/-1}.field label:not(.check-row){display:block;font-weight:650;margin-block-end:.4rem}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:.25rem;background:#fffdf9;padding:.75rem;min-height:3rem}.field textarea{resize:vertical}.field input[aria-invalid=true],.field select[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:#9d260c;box-shadow:0 0 0 1px #9d260c}.field-error{color:#861f0a;font-size:.9rem;margin:.35rem 0 0;min-height:1.4em}.check-row{display:flex;align-items:flex-start;gap:.65rem}.check-row input{flex:0 0 auto;width:1.2rem;height:1.2rem;min-height:0;margin-block-start:.2rem}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;border-block-start:1px solid var(--line);padding-block-start:1.25rem}.form-footer p{font-size:.9rem;color:var(--muted);margin:0}.form-status{font-weight:650;color:#28572e}.form-alert{font-weight:650;color:#861f0a}.legal-content{max-width:72rem;padding:var(--section) var(--pad)}.legal-content header{margin-block-end:4rem}.legal-content h1{font-size:clamp(3rem,6vw,5.5rem)}.legal-content section{max-width:68ch;margin-block-end:3.5rem}.legal-content h2{font-size:clamp(1.6rem,3vw,2.3rem)}.preference-form{display:grid;gap:1rem;max-width:34rem}.preference-form .button{justify-self:start}.site-footer{display:grid;grid-template-columns:1fr 1fr;gap:3rem;padding:clamp(3rem,6vw,5rem) var(--pad);background:var(--ink);color:var(--page)}.footer-brand img{width:min(100%,21rem);filter:invert(1)}.footer-brand p{color:#d3cec6}.site-footer nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:.8rem 2rem}.copyright{grid-column:1/-1;color:#b8b2a9;border-block-start:1px solid rgb(255 255 255/.2);padding-block-start:1.5rem}.cookie-panel{position:fixed;z-index:50;inset-inline:var(--pad);inset-block-end:1rem;display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:70rem;margin-inline:auto;padding:1.5rem;background:var(--ink);color:var(--page);border-radius:.5rem;box-shadow:0 12px 40px rgb(0 0 0/.25)}.cookie-panel[hidden]{display:none}.cookie-panel h2{font-size:2rem}.cookie-panel .eyebrow{color:#c9c3ba}.cookie-panel form{display:grid;gap:.8rem}.cookie-actions{display:flex;flex-wrap:wrap;gap:.75rem}.cookie-panel .button.secondary{border-color:var(--page);color:var(--page)}.cookie-panel .button.primary{background:var(--accent);border-color:var(--accent);color:var(--ink)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}@media (forced-colors:active){:focus-visible{outline:2px solid CanvasText}.image-frame,img{outline:1px solid CanvasText}}
@media (hover:hover){.button:hover{background:var(--accent);color:var(--ink)}.text-link:hover{text-decoration-thickness:2px}}
@media (max-width:62rem){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero,.section-grid,.article-card{grid-template-columns:1fr}.home-hero{min-height:auto}.hero-image{aspect-ratio:16/10}.about .portrait{max-width:none;aspect-ratio:4/3}.blog-teaser .image-frame{grid-row:1}.contact-layout{grid-template-columns:1fr}.site-header{align-items:flex-start}.brand{max-width:15rem}.cookie-panel{grid-template-columns:1fr}}
@media (max-width:42rem){.site-header{display:block}.site-header nav{justify-content:flex-start;margin-block-start:1rem;gap:.5rem 1rem}.site-header nav a{font-size:.72rem}.brand{max-width:13rem}.service-grid,.work-reel,.contact-form,.site-footer{grid-template-columns:1fr}.service-card .image-frame{aspect-ratio:3/2}.section-heading.split,.form-footer{display:block}.form-footer .button{margin-block-start:1rem;width:100%}.cookie-panel{inset-inline:.5rem;padding:1rem;max-height:calc(100svh - 1rem);overflow:auto}.cookie-actions .button{width:100%}.copyright{grid-column:1}h1{overflow-wrap:break-word}.article-body p{font-size:1.05rem}}
@media (prefers-reduced-motion:no-preference){.skip-link{transition:transform 120ms cubic-bezier(.2,0,0,1)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.hero-copy{padding-block:clamp(3rem,6vw,5.5rem)}
.home-hero h1{font-size:clamp(2.75rem,5.4vw,5.4rem);max-width:11ch}
.site-footer{grid-template-columns:1.1fr 1.2fr .7fr}
.footer-brand p,.footer-requisites p{color:#d3cec6}
.footer-requisites h2{font:650 .75rem/1.5 var(--sans);letter-spacing:.2em;text-transform:uppercase;margin-block-end:1rem}
.footer-requisites address{font-style:normal;margin-block-end:1.25rem}
.footer-requisites p{font-size:.9rem;line-height:1.55;margin-block-end:1rem}
.site-footer nav{grid-template-columns:1fr}
@media (max-width:62rem){.site-footer{grid-template-columns:1fr 1fr}.site-footer nav{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:42rem){.site-footer{grid-template-columns:1fr}.site-footer nav{grid-column:1;grid-template-columns:1fr}}
.article-hero .image-frame{aspect-ratio:4/3}
