:root{--ink:#202020;--muted:#777;--line:#e8e6e2;--paper:#fff;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}.site-header{height:88px;padding:0 6.2%;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;border-bottom:1px solid var(--line);letter-spacing:.11em;font-size:10px}.wordmark{font-weight:600;letter-spacing:.16em}.site-header nav{display:flex;justify-content:center;gap:34px}.site-header nav a,.instagram,footer{font-size:9px;letter-spacing:.13em}.site-header a:hover,.text-link:hover,.contact-link:hover{opacity:.55}.instagram{text-align:right}
.intro{min-height:570px;padding:128px 12% 105px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.eyebrow{font-size:9px;letter-spacing:.2em;color:var(--muted);margin:0 0 25px}.intro h1,.contact-section h2{font:400 clamp(58px,8vw,108px)/.99 var(--serif);letter-spacing:-.055em;margin:0}.intro h1 em,.about-grid h2 em,.contact-section h2 em{font-weight:400;color:#888}.intro-copy{max-width:390px;line-height:1.9;color:#666;margin:28px 0 30px;font-size:13px}.text-link,.contact-link{font-size:9px;letter-spacing:.16em;border-bottom:1px solid #aaa;padding-bottom:9px}.text-link span{margin-left:15px}
.portfolio-section{padding:88px 6.2% 120px;border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:42px}.section-heading .eyebrow{margin-bottom:13px}.section-heading h2{font:400 42px var(--serif);margin:0;letter-spacing:-.03em}.section-note{color:var(--muted);font-size:11px;line-height:1.8;text-align:right;margin:0}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px;align-items:start}.photo-card{margin:0;cursor:zoom-in}.photo-card img{display:block;width:100%;height:auto;max-height:780px;object-fit:cover;background:#f4f3f1;transition:opacity .35s}.photo-card:hover img{opacity:.9}.photo-card figcaption{font-size:9px;letter-spacing:.08em;color:#777;margin-top:11px}.empty-state{grid-column:1/-1;min-height:250px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:24px;color:#999}.empty-state span{font-size:9px;letter-spacing:.15em}.empty-state p{font:italic 25px var(--serif)}
.about-section{padding:105px 12%;background:#f8f7f5}.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:9%;align-items:start}.about-grid h2{font:400 clamp(35px,4.5vw,58px)/1.15 var(--serif);letter-spacing:-.04em;margin:0}.about-grid>div{max-width:440px;color:#666;line-height:2;font-size:12px}.about-grid>div p:first-child{margin-top:4px}.contact-section{text-align:center;padding:130px 20px 145px}.contact-section .eyebrow{margin-bottom:30px}.contact-section h2{font-size:clamp(54px,7vw,88px);margin-bottom:40px}.contact-link{display:inline-block}
footer{min-height:75px;padding:0 6.2%;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:#777;font-size:8px}
dialog{border:0;padding:24px;max-width:min(94vw,1200px);max-height:94vh;background:#fff;box-shadow:0 12px 60px #0003}dialog::backdrop{background:#111d}dialog img{display:block;max-width:calc(94vw - 48px);max-height:80vh;object-fit:contain}.lightbox-close{position:absolute;right:8px;top:5px;border:0;background:#fff;font-size:30px;cursor:pointer}dialog p{font-size:10px;color:#777;letter-spacing:.08em}
@media(max-width:700px){.site-header{height:auto;min-height:78px;padding:18px 6%;grid-template-columns:1fr auto;row-gap:16px}.site-header nav{grid-column:1/-1;grid-row:2;justify-content:flex-start;gap:24px}.instagram{grid-column:2;grid-row:1}.intro{min-height:490px;padding:95px 8% 85px}.portfolio-section{padding:72px 6% 85px}.gallery{grid-template-columns:1fr;gap:24px}.section-note{font-size:10px}.about-section{padding:80px 8%}.about-grid{grid-template-columns:1fr;gap:24px}.contact-section{padding:100px 15px}footer{padding:22px 6%;gap:14px;flex-wrap:wrap}footer span:nth-child(2){display:none}}
