@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');
:root{--cream:#f7f3ec;--ink:#27231f;--muted:#665e56;--line:#d9cfc3;--accent:#745044}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--accent);outline-offset:6px}.wrap{max-width:1240px;width:calc(100% - 100px);margin:0 auto}header{padding:28px 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-family:'Playfair Display',Georgia,serif;font-size:26px;line-height:1.2}.wordmark span{display:block;font-family:'DM Sans',Arial,sans-serif;font-size:12px;letter-spacing:.17em;text-transform:uppercase;margin-top:6px}nav{display:flex;gap:32px;font-size:14px}nav a:hover,footer a:hover{text-decoration:underline;text-underline-offset:5px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;padding-top:64px;padding-bottom:64px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.13em;margin:0 0 23px}.hero h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(40px,4.7vw,66px);line-height:1.15;font-weight:400;letter-spacing:-.035em;margin:0 0 28px}em{font-weight:400;color:var(--accent)}.lead{font-size:18px;line-height:1.7;max-width:440px;color:var(--muted);margin:0 0 30px}.button{display:inline-block;background:var(--ink);color:var(--cream);padding:15px 25px;font-size:14px;transition:background .2s}.button:hover{background:var(--accent)}.handle{font-size:13px;color:var(--muted);margin-top:18px}figure{margin:0}.hero-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 34%}.hero-photo figcaption{font-size:13px;color:var(--muted);padding-top:12px}.niches{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;text-align:center;font-size:14px;letter-spacing:.06em}.niches span{margin:0 29px;color:#a18b70}h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:44px;line-height:1.2;letter-spacing:-.025em;margin:0}.about{display:grid;grid-template-columns:1fr 1.3fr;gap:60px;padding-top:88px;padding-bottom:65px}.about-copy p{margin:0 0 18px;color:var(--muted);max-width:610px}.services{padding:10px 0 75px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.service-grid article{border-top:1px solid var(--line);padding-top:22px}.number{font-size:13px;color:var(--accent)}h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:25px;line-height:1.3;margin:15px 0}.service-grid p{font-size:15px;color:var(--muted);margin:0;max-width:320px}.photos{padding:55px 0 85px;border-top:1px solid var(--line)}.section-title{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:35px}.section-title p:not(.eyebrow){font-size:14px;color:var(--muted);margin:0}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.photo-frame{aspect-ratio:3/4;overflow:hidden;position:relative;background:#ded3c6}.photo-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.screenshot{aspect-ratio:709/990}.screenshot img{position:absolute;top:-20.202%;left:0;width:100%;height:155.15%;object-fit:fill}.photo-grid figcaption{padding-top:13px;font-size:14px}.photo-grid figcaption span{font-size:12px;color:var(--muted);margin-right:14px}.contact{background:var(--ink);color:var(--cream);padding:65px 0;text-align:center}.contact h2{font-size:54px}.contact em{color:#dcc1a5}.contact-inner>p:not(.eyebrow){color:#d6ccc0}.light{background:var(--cream);color:var(--ink);margin-top:12px}.light:hover{background:#dcc1a5}.contact-handle{font-size:13px;margin-bottom:0}footer{display:flex;justify-content:space-between;gap:20px;padding:25px 0;font-size:12px;color:var(--muted)}footer>span:first-child{font-family:'Playfair Display',Georgia,serif;font-size:17px;color:var(--ink)}
@media(max-width:800px){.wrap{width:calc(100% - 40px)}header{padding:22px 0}nav{gap:18px;font-size:13px}.hero{gap:30px;padding:45px 0}.hero h1{font-size:42px}.lead{font-size:16px}.niches span{margin:0 12px}.about{gap:30px;padding-top:60px;grid-template-columns:1fr 1.3fr}h2{font-size:36px}.service-grid{gap:22px}.service-grid h3{font-size:22px}.photo-grid{gap:15px}.section-title{align-items:start}.section-title p:not(.eyebrow){max-width:150px}.contact h2{font-size:45px}footer{flex-wrap:wrap}}
@media(max-width:560px){.wordmark{font-size:22px}nav{gap:14px}nav a:first-child{display:none}.hero{grid-template-columns:1fr;gap:30px;padding-top:38px;padding-bottom:38px}.hero h1{font-size:44px}.eyebrow{font-size:12px;letter-spacing:.09em}.hero-photo img{aspect-ratio:4/4.4;object-position:50% 30%}.lead{max-width:100%}.hero-copy .handle{margin-bottom:0}.niches{font-size:12px;letter-spacing:0;padding:18px 0}.niches span{margin:0 6px}.about{grid-template-columns:1fr;gap:25px;padding:50px 0 25px}.service-grid{grid-template-columns:1fr;gap:25px}.service-grid p{max-width:none}.services{padding-bottom:45px}.service-grid article{padding-top:16px}.service-grid h3{margin:8px 0}.section-title{display:block}.section-title p:not(.eyebrow){max-width:none;margin-top:15px}.photo-grid{grid-template-columns:1fr;gap:28px}.photo-frame,.screenshot{aspect-ratio:709/990}.photo-frame img{object-position:50% 40%}.photos{padding-top:38px;padding-bottom:45px}.contact{padding:50px 0}footer{font-size:12px;align-items:center}footer>span:nth-child(2){width:100%;order:3}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

@media(min-width:801px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-grid .photo-frame{aspect-ratio:709/990}}
@media(min-width:561px) and (max-width:800px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-grid .photo-frame{aspect-ratio:709/990}}

.videos{padding:55px 0 65px;border-top:1px solid var(--line)}.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;max-width:850px;margin:auto}.video-grid video{display:block;width:100%;aspect-ratio:9/16;object-fit:contain;background:#27231f}.video-grid h3{margin-bottom:8px}.video-grid p,.sample-note{color:var(--muted);font-size:14px}.sample-note{text-align:center;margin-top:25px}.contact-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.contact a:hover{text-decoration:underline;text-underline-offset:4px}@media(max-width:560px){.video-grid{grid-template-columns:1fr;max-width:360px}.videos{padding:38px 0 45px}nav{gap:12px}nav a{font-size:12px}}
