:root{--ink:#171717;--paper:#f7f4ee;--muted:#6f6b64;--line:#ddd7cd;--gold:#b18a45;--dark:#20211f}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.6}a{text-decoration:none;color:inherit}.wrap{width:min(1100px,calc(100% - 40px));margin:auto}header{background:#f7f4ee;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:4}.nav{height:72px;display:flex;align-items:center;justify-content:space-between}.wordmark{font-size:14px;font-weight:700;letter-spacing:.14em}.wordmark span{color:var(--gold)}nav{display:flex;gap:26px;font-size:13px}nav a:hover{color:var(--gold)}.menu{display:none;border:0;background:none}.hero{padding:62px 0 70px;display:grid;grid-template-columns:1.05fr .95fr;gap:55px;align-items:center}.hero-side{display:grid;gap:22px}.hero-photo{margin:0;overflow:hidden}.hero-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 58%;filter:saturate(.9)}.hero-photo figcaption{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:9px}.eyebrow{font-size:11px;letter-spacing:.2em;color:var(--gold);font-weight:700;margin:0 0 16px}h1,h2,h3{font-family:'Playfair Display',serif;line-height:1.08}h1{font-size:clamp(52px,7vw,78px);margin:0;letter-spacing:-.03em}.intro{font-size:18px;color:var(--muted);max-width:650px}.service-line{font-size:13px;margin-top:24px;line-height:2;color:#514e48}.demo{background:var(--dark);color:#f4f0e8;padding:28px}.demo .eyebrow{color:#c9a76a}.demo-line{display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:center}.play{width:48px;height:48px;border:1px solid #706d66;border-radius:50%;background:transparent;color:#fff;cursor:pointer}.demo strong{display:block;font-size:16px}.demo small{display:block;color:#a7a39a;margin-top:2px}.demo a{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#c9a76a}.bar{height:2px;background:#4a4a46;margin-top:22px}.bar i{display:block;height:100%;width:0;background:#c9a76a}.section{padding:82px 0}.dark{background:var(--dark);color:#f4f0e8}.dark h2{font-size:52px;margin:0}.lead{max-width:600px;color:#aaa79f}.cards{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#4a4a46;margin-top:45px}.cards article{background:var(--dark);padding:28px 26px 32px}.cards span{font-size:10px;color:#c9a76a;letter-spacing:.18em}.cards h3{font-size:28px;margin:9px 0 22px}.cards audio{width:100%;height:34px}.section>h2{font-size:48px;margin:0 0 35px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line)}.service-grid div{padding:27px 20px 27px 0;border-bottom:1px solid var(--line)}.service-grid div:nth-child(even){padding-left:30px;border-left:1px solid var(--line)}.service-grid b{display:block;font-size:17px}.service-grid span{display:block;color:var(--muted);font-size:14px;margin-top:5px}.about{background:#e7e2d9;padding:90px 0}.about h2{font-size:52px;margin:0 0 25px}.about-copy{max-width:760px;color:#57534b}.about-copy>p:not(.eyebrow){margin-top:0;margin-bottom:22px}.recent-work{margin-top:34px;padding-top:26px;border-top:1px solid rgba(87,83,75,.22)}.recent-work .eyebrow{margin-bottom:10px}.contact{padding:90px 0}.contact h2{font-size:58px;margin:0}.contact p:not(.eyebrow){color:var(--muted)}.contact a{display:inline-block;margin-top:12px;border-bottom:1px solid var(--gold);font-size:18px}footer{border-top:1px solid var(--line);padding:24px 0;font-size:11px;color:#777;letter-spacing:.08em;text-transform:uppercase}footer .wrap{display:flex;justify-content:space-between}@media(max-width:800px){.wrap{width:min(100% - 30px,620px)}.menu{display:block}nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--paper);padding:18px;flex-direction:column}.open{display:flex}.hero{grid-template-columns:1fr;padding:55px 0;gap:40px}.hero-side{gap:28px}.demo-line{grid-template-columns:48px 1fr}.demo a{grid-column:2}.cards,.service-grid{grid-template-columns:1fr}.service-grid div:nth-child(even){padding-left:0;border-left:0}.dark h2,.section>h2,.about h2{font-size:40px}.section{padding:65px 0}}

/* Studio photography */
.studio{background:#171817;color:#f4f0e8;padding:82px 0}
.studio-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.studio figure,.headshot{margin:0}
.studio img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 52%;filter:saturate(.88)}
.studio figure:first-child img{object-position:center 58%}
.studio figcaption,.headshot figcaption{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#aaa79f;margin-top:11px}
.about-grid{display:grid;grid-template-columns:1fr 330px;gap:70px;align-items:start}
.about-grid .about-copy{max-width:650px}
.about-grid h2{margin-bottom:0}
.headshot{justify-self:end;width:330px}
.headshot img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center top}
@media(max-width:800px){
  .studio{padding:65px 0}
  .studio-grid{grid-template-columns:1fr;gap:30px}
  .studio img{aspect-ratio:4/3}
  .about-grid{grid-template-columns:1fr;gap:30px}
  .headshot{justify-self:start;width:min(100%,330px)}
}

/* Contact form modal */
.contact-button{margin-top:16px;border:0;border-bottom:1px solid var(--gold);background:transparent;color:var(--ink);padding:0 0 4px;font:600 15px 'DM Sans',sans-serif;cursor:pointer}.contact-button span,.send-button span{color:var(--gold);margin-left:5px}.contact-button:hover{color:var(--gold)}body.modal-open{overflow:hidden}.modal{position:fixed;inset:0;z-index:20;display:none;align-items:center;justify-content:center;padding:24px}.modal.is-open{display:flex}.modal-backdrop{position:absolute;inset:0;background:rgba(18,18,17,.72);backdrop-filter:blur(4px)}.modal-card{position:relative;z-index:1;width:min(640px,100%);max-height:calc(100vh - 48px);overflow:auto;background:var(--paper);padding:42px 44px 40px;box-shadow:0 24px 70px rgba(0,0,0,.28)}.modal-card h2{font-size:44px;margin:0 0 10px}.modal-intro{color:var(--muted);margin:0 0 28px}.modal-close{position:absolute;top:13px;right:18px;border:0;background:none;font-size:30px;line-height:1;color:#777;cursor:pointer;padding:4px}.modal-close:hover{color:var(--ink)}#contact-form label{display:block;font-size:12px;font-weight:600;letter-spacing:.04em;margin:0 0 18px}#contact-form input:not(.hp),#contact-form textarea{display:block;width:100%;margin-top:7px;border:1px solid #cbc5ba;background:#fffdf8;color:var(--ink);font:400 15px 'DM Sans',sans-serif;padding:12px 13px;outline:none;border-radius:0}#contact-form textarea{resize:vertical;min-height:140px}#contact-form input:not(.hp):focus,#contact-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 2px rgba(177,138,69,.1)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.send-button{border:0;background:var(--dark);color:#f4f0e8;padding:13px 20px;font:600 13px 'DM Sans',sans-serif;letter-spacing:.04em;cursor:pointer}.send-button:hover{background:#2d2e2b}.send-button:disabled{opacity:.6;cursor:wait}.form-status{min-height:22px;margin:14px 0 0;font-size:13px}.form-status.is-success{color:#3f6b48}.form-status.is-error{color:#9a4a3e}.form-status.is-sending{color:var(--muted)}.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}@media(max-width:600px){.modal{padding:14px}.modal-card{padding:36px 22px 28px;max-height:calc(100vh - 28px)}.modal-card h2{font-size:36px}.form-grid{grid-template-columns:1fr;gap:0}.contact-button{font-size:14px}}
