:root{--ink:#050505;--paper:#f4f4f4;--muted:#aaa;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Inter Tight',Arial,sans-serif;--mono:var(--sans)}
html{scroll-padding-top:110px}body{font-size:17px}.section{padding:90px max(24px,5vw)}
.site-nav a,.menu-toggle{font-size:.875rem;letter-spacing:.04em}.wordmark{font-size:1rem}.button-surface{font-size:1.15rem;background:linear-gradient(#252527,#151517);padding:17px 28px;min-height:56px;border-radius:16px;letter-spacing:0}
.eyebrow{font-size:.875rem;letter-spacing:.15em}.section h2{font-size:clamp(2.8rem,5.5vw,5rem);line-height:1.05;letter-spacing:-.025em;margin:0 0 25px}.large-copy{font-weight:400;line-height:1.4;color:#bbb}
.hero.hero-split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:5vw;align-items:center;min-height:auto;text-align:left;padding:55px max(24px,5vw) 60px;overflow:visible}
.hero-split h1{font-size:clamp(3rem,5.6vw,6.5rem);line-height:1;letter-spacing:-.035em;margin:0 0 28px;max-width:900px}.hero-split .intro{margin:0 0 30px;font-size:clamp(1.35rem,2vw,2rem);color:#bbb;max-width:760px}.hero-split .button-row{justify-content:flex-start;margin-top:36px}.hero-split .tag-list{max-width:none;gap:10px}.hero-split .tag-list span{font:400 1rem var(--sans);border-radius:30px;padding:9px 16px;background:#0c0c0c}
.hero-photo{margin:0;border-radius:24px;overflow:hidden;align-self:stretch;min-height:520px}.hero-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.hero-split .portfolio-count{font:700 1.15rem/1.5 var(--sans);text-align:center;margin:32px 0 0;letter-spacing:0;text-transform:none;color:var(--paper)}
.services.service-strip{display:block;padding-top:25px;padding-bottom:75px;border-top:0}.service-strip .service-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;border:0}.service-strip article{border-top:1px solid var(--line);border-bottom:0;padding-top:25px}.service-strip h2{font-size:clamp(1.65rem,2.4vw,2.6rem);margin:0 0 14px}.service-strip p{font-size:1rem;line-height:1.65}
.about{grid-template-columns:1.1fr .9fr;align-items:center;gap:6vw}.about h2{font-family:var(--sans);font-size:clamp(2.8rem,5.1vw,5.3rem);letter-spacing:-.055em}.about-copy .large-copy,.about-copy>p:not(.eyebrow){font-family:var(--sans);font-size:1.2rem;line-height:1.65;font-weight:400}.portrait-frame{width:100%;max-width:none;aspect-ratio:3/4;border-radius:24px}.portrait-frame img{object-position:center 38%}
.approach{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:6vw}.process-photo{width:100%;max-width:none;aspect-ratio:3/4;border-radius:24px}.steps{margin-top:45px}.steps li{padding:0 0 26px 52px;margin-bottom:26px}.steps span{font-size:.9rem}.steps h3{font-size:2rem}.steps p{font-size:1rem;line-height:1.65}
.testimonials>.large-copy{max-width:880px}.testimonial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:42px}.testimonial{background:#0c0c0c;border:1px solid var(--line);border-radius:20px;padding:30px}.client{display:flex;align-items:center;gap:18px}.client h3{font:500 1.4rem var(--serif);margin:0}.avatar{display:block;width:72px;height:72px;flex:0 0 72px;border-radius:50%;overflow:hidden;position:relative;background:#111}.avatar img{position:absolute;width:var(--image-width,100%);max-width:none;height:auto;left:var(--image-left,0);top:var(--image-top,0)}blockquote{margin:25px 0 0;color:#ccc;font:400 1.25rem/1.5 var(--serif)}blockquote p:first-child{margin-top:0}blockquote p:last-child{margin-bottom:0}.upcoming-testimonials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px}.upcoming{padding:20px 0;border-top:1px solid var(--line)}.upcoming h3{font:500 1rem var(--sans)}.upcoming p{font-size:.875rem;color:var(--muted);margin:6px 0 0}.upcoming .avatar{width:56px;height:56px;flex-basis:56px}
.faq{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:6vw;align-items:start}.faq-art{max-width:none;border-radius:24px;aspect-ratio:4/5}.faq-content .eyebrow{margin:0 0 18px}.faq-content h2{margin:0 0 18px}.faq .accordion{margin-top:24px}.faq-item h3{margin:0}.faq-question{font:600 clamp(1.1rem,1.8vw,1.55rem)/1.35 var(--sans);min-height:76px;align-items:center;padding:22px 0}.faq-question:after{content:'';display:block;width:10px;height:10px;flex:0 0 10px;border-right:2px solid #aaa;border-bottom:2px solid #aaa;transform:rotate(45deg);margin:0 7px 6px 0;transition:transform .2s ease,margin .2s ease}.faq-item.open .faq-question:after{content:'';transform:rotate(225deg);margin:6px 7px 0 0}.faq-answer{font-size:1rem;line-height:1.65;max-width:720px;color:#bdbdbd}.faq-answer p:first-child{margin-top:0}.faq-answer p:last-child{margin-bottom:0}
.preview .project-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:35px}.preview .project{border-radius:20px}.preview .project-card img{filter:none}.project-card .project-category,.project-card .project-title small{font-size:.875rem}.project-card .project-title{font:500 1.15rem var(--sans)}
.contact .large-copy,.contact>p:not(.eyebrow){margin-left:auto;margin-right:auto;max-width:780px}.contact>p:not(.eyebrow):not(.large-copy){font-size:1.1rem;line-height:1.65;color:#bbb}.contact-links a{font-size:1rem}footer{font-size:.875rem}a:focus-visible,button:focus-visible{outline:2px solid #fff;outline-offset:5px}
@media(max-width:1000px){.site-nav{gap:16px}.service-strip .service-list{grid-template-columns:repeat(2,minmax(0,1fr))}.hero.hero-split{gap:30px}.hero-photo{min-height:460px}.upcoming-testimonials{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.section{padding:65px 22px}.hero.hero-split{grid-template-columns:1fr;padding:38px 22px 45px}.hero-split h1{font-size:clamp(3rem,10vw,4.7rem)}.hero-photo{min-height:0;aspect-ratio:4/3}.hero-split .portfolio-count{font-size:1rem}.hero-split .tag-list span{font-size:.875rem}.about,.approach,.faq{grid-template-columns:1fr;gap:35px}.portrait-frame{max-width:520px;margin-inline:auto}.process-photo{max-width:520px;margin-inline:auto;order:0}.approach-copy{order:1}.testimonial-grid{grid-template-columns:1fr}.preview .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.faq-art{max-width:450px;margin-inline:auto}.site-header.menu-open .site-nav{padding-bottom:15px}}
@media(max-width:480px){.service-strip .service-list,.upcoming-testimonials{grid-template-columns:1fr}.hero-split .button-row{display:grid;grid-template-columns:1fr;width:100%}.testimonial{padding:22px}.preview .project-grid{grid-template-columns:1fr}.section h2{font-size:2.8rem}.contact-links{flex-direction:column;align-items:center}footer{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.site-header .wordmark{white-space:nowrap;font-size:clamp(.9rem,1.3vw,1.1rem);letter-spacing:.045em;flex:0 0 auto}
.faq-question{font-size:clamp(1rem,1.35vw,1.22rem);line-height:1.4;min-height:68px;padding:18px 0}
.contact h2{margin-left:auto;margin-right:auto;text-align:center}
.contact-links{align-items:center}
.contact-links a{display:inline-flex;align-items:center;gap:9px;white-space:nowrap}
.contact-links svg{width:19px;height:19px;flex:0 0 19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:480px){.site-header .wordmark{font-size:.9rem}.contact-links a{white-space:normal}}
.testimonial-video-card{display:flex;flex-direction:column}
.testimonial-video-card .video-label{margin:20px 0 0;color:var(--muted);font-size:.875rem;letter-spacing:.04em}
.testimonial-video{display:block;width:min(100%,320px);aspect-ratio:9/16;object-fit:cover;margin:18px auto 0;border-radius:14px;background:#050505}
.avatar-maika img{position:static;display:block;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:center 43%;transform:scale(1.55)}
