*{box-sizing:border-box;margin:0;padding:0}
:root{--ivory:#f8f5f1;--sand:#ede5db;--taupe:#cfc3b5;--smoke:#7e7165;--charcoal:#171412;--espresso:#2f2a25;--white:#fffaf5}
html{scroll-behavior:smooth}
body{background:var(--ivory);color:var(--espresso);font-family:'Manrope',sans-serif;line-height:1.75}
a{color:inherit} img{max-width:100%;display:block}
.nav{position:fixed;top:0;left:0;width:100%;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:22px 5vw;color:var(--white)}
.brand{text-decoration:none;font-family:'Playfair Display',serif;font-size:1.25rem;letter-spacing:.03em}
.nav-links{display:flex;gap:24px;font-size:.85rem;text-transform:uppercase;letter-spacing:.14em}
.nav-links a{text-decoration:none}
.hero{min-height:100vh;position:relative;display:grid;place-items:center;padding:120px 6vw;color:var(--white);background:linear-gradient(90deg,rgba(15,12,10,.78),rgba(15,12,10,.18),rgba(15,12,10,.64)),url('hero.jpg') center/cover no-repeat}
.hero-inner{position:relative;max-width:1050px;text-align:center;animation:fadeUp .8s ease both}
.kicker{font-size:.78rem;text-transform:uppercase;letter-spacing:.24em;color:var(--taupe);font-weight:700;margin-bottom:18px}
h1,h2,h3{font-family:'Playfair Display',serif;font-weight:600;line-height:.98}
h1{font-size:clamp(3.6rem,9vw,8.8rem);letter-spacing:-.055em;margin-bottom:28px}
h1 span{font-style:italic;font-weight:500}
h2{font-size:clamp(2.2rem,5vw,5.2rem);letter-spacing:-.045em;margin-bottom:24px}
h3{font-size:1.75rem;letter-spacing:-.025em}
.hero-copy{max-width:760px;margin:0 auto 34px;font-size:1.16rem;color:rgba(255,250,245,.88)}
.hero-actions,.contact-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 24px;border-radius:999px;text-decoration:none;font-weight:700;letter-spacing:.04em;transition:.25s ease}
.button:hover{transform:translateY(-3px)}
.primary{background:var(--white);color:var(--charcoal)}
.secondary{border:1px solid rgba(255,250,245,.52);color:var(--white);background:rgba(255,255,255,.08);backdrop-filter:blur(12px)}
.section{padding:110px 6vw}
.collabs{padding:54px 6vw;overflow:hidden;text-align:center;background:var(--charcoal);color:var(--white)}
.marquee{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 28px;max-width:1150px;margin:0 auto}
.marquee span{color:var(--white);font-family:'Playfair Display',serif;font-size:clamp(1.25rem,2.8vw,2.6rem);opacity:.85}
.stats{display:grid;grid-template-columns:repeat(3,1fr);background:var(--sand);border-bottom:1px solid rgba(47,42,37,.12)}
.stats article{padding:42px 6vw;border-right:1px solid rgba(47,42,37,.12)}
.stats article:last-child{border-right:none}
.stats strong{display:block;font-family:'Playfair Display',serif;font-size:clamp(2.2rem,4vw,4.2rem);line-height:1}
.stats span{color:var(--smoke);font-size:.95rem}
.about{display:grid;grid-template-columns:.82fr 1.18fr;gap:70px;align-items:center}
.about-image img{border-radius:34px;min-height:680px;object-fit:cover;filter:saturate(.82) contrast(.95);box-shadow:0 40px 100px rgba(23,20,18,.16)}
.about-copy p{margin-bottom:18px;color:#5e544b}
.signature-line{color:var(--espresso)!important;font-weight:700;border-left:3px solid var(--taupe);padding-left:18px;margin-top:25px}
.section-heading{max-width:900px;margin-bottom:46px}
.section-heading p{color:var(--smoke);max-width:720px}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.project-card{min-height:315px;display:flex;flex-direction:column;justify-content:space-between;background:var(--white);padding:30px;border-radius:28px;border:1px solid rgba(47,42,37,.1);text-decoration:none;transition:.28s ease}
.project-card:hover{transform:translateY(-8px);box-shadow:0 30px 80px rgba(23,20,18,.12);background:#fff}
.project-card span{font-size:.74rem;text-transform:uppercase;letter-spacing:.18em;color:#9b7d62;font-weight:800}
.project-card p{color:var(--smoke);margin-top:16px}
.project-card small{display:inline-block;margin-top:30px;font-weight:800;letter-spacing:.03em}
.lens{min-height:760px;display:grid;grid-template-columns:1.08fr .92fr;background:var(--charcoal);color:var(--white)}
.lens-image{min-height:760px;background:linear-gradient(rgba(23,20,18,.12),rgba(23,20,18,.12)),url('behind-the-lens.jpg') center/cover no-repeat;filter:saturate(.78) contrast(.95)}
.lens-copy{padding:90px 6vw;align-self:center}
.lens-copy p{color:rgba(255,250,245,.72);margin-bottom:28px}
.reel-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.reel-grid a{text-decoration:none;border:1px solid rgba(255,250,245,.2);border-radius:18px;padding:18px;background:rgba(255,255,255,.05);transition:.25s ease}
.reel-grid a:hover{background:rgba(255,255,255,.12);transform:translateY(-3px)}
.services{background:var(--sand)}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-grid article{background:rgba(255,250,245,.78);border:1px solid rgba(47,42,37,.1);border-radius:28px;padding:30px;min-height:250px}
.service-grid p{margin-top:14px;color:var(--smoke)}
.quote-section{padding:110px 6vw;text-align:center;background:var(--charcoal);color:var(--white)}
.quote-section p{font-family:'Playfair Display',serif;font-size:clamp(2rem,5vw,5.8rem);line-height:1.02;letter-spacing:-.045em;max-width:1050px;margin:0 auto}
.contact{padding:110px 6vw;text-align:center;background:linear-gradient(rgba(248,245,241,.9),rgba(248,245,241,.9)),url('portrait.jpg') center/cover fixed}
.contact h2{max-width:920px;margin-left:auto;margin-right:auto}
.contact .secondary{color:var(--charcoal);border-color:rgba(47,42,37,.25);background:rgba(255,250,245,.7)}
.contact .primary{background:var(--charcoal);color:var(--white)}
.contact-meta{margin-top:26px;color:var(--smoke)}
footer{background:var(--charcoal);color:rgba(255,250,245,.64);text-align:center;padding:28px;font-size:.9rem}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:980px){.nav{position:absolute;align-items:flex-start;gap:14px;flex-direction:column}.nav-links{flex-wrap:wrap;gap:14px}.stats,.about,.lens,.project-grid,.service-grid{grid-template-columns:1fr}.stats article{border-right:none;border-bottom:1px solid rgba(47,42,37,.12)}.about-image img{min-height:auto}.lens-image{min-height:520px}}
@media(max-width:620px){.hero{padding:110px 22px 70px}.section,.about,.lens-copy,.contact,.quote-section{padding:74px 22px}.project-card,.service-grid article{min-height:auto}.reel-grid{grid-template-columns:1fr}.hero-actions,.contact-actions{align-items:stretch;flex-direction:column}.button{width:100%}}
