@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root{font-family:'DM Sans',Arial,sans-serif;color:#eee;background:#101110;font-synthesis:none;--paper:#101110;--ink:#eee;--muted:#aaa;--accent:#dfc28e;--line:#ffffff29}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #c88836;outline-offset:5px}button,a{-webkit-tap-highlight-color:transparent}h1,h2,p{margin-top:0}.concepts{padding:10px 4%;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#e9e9e5;color:#262823;font-size:13px}.concepts>span{letter-spacing:.13em;font-weight:700;font-size:12px}.concepts nav{display:flex;gap:6px}.concepts a{padding:8px 15px;border-radius:3px}.concepts a[aria-current]{background:#252924;color:white}header{height:108px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-family:'Manrope',Arial,sans-serif;font-size:20px;font-weight:800;letter-spacing:.1em;line-height:1.25;display:inline-block}.brand span{display:block;font-size:12px;font-weight:500;letter-spacing:.44em;margin-top:4px}header nav{display:flex;gap:38px;align-items:center;font-size:14px}.contact-nav{border-bottom:1px solid var(--accent);padding:12px 0}.contact-nav span{margin-left:22px}.hero{position:relative;min-height:690px;height:calc(100svh - 163px);max-height:950px;isolation:isolate}.hero-photo{position:absolute;inset:0;z-index:-2}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 44%}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.4) 48%,rgba(0,0,0,.04)),linear-gradient(0deg,#0008,transparent 30%)}.hero-copy{padding:80px 7% 100px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.19em;line-height:1.7;margin-bottom:24px}h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(58px,6.4vw,94px);font-weight:500;line-height:1.04;letter-spacing:-.035em;margin-bottom:26px}h1 em,h2 em{font-weight:500;color:var(--accent)}.intro{font-size:17px;line-height:1.65;color:#ddd;margin-bottom:32px}.button{display:inline-flex;gap:40px;align-items:center;padding:17px 24px;background:var(--accent);color:#161811;font-size:14px;font-weight:600}.hero-caption{position:absolute;bottom:26px;left:7%;right:5%;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.08em;color:#eee}.work{padding:100px 5% 80px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.section-heading .eyebrow{color:var(--accent);margin-bottom:12px}h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:clamp(34px,4vw,58px);line-height:1.15;letter-spacing:-.025em;margin-bottom:0}.count{font-family:'DM Sans',sans-serif;color:var(--muted);font-size:15px;letter-spacing:0}.section-heading>p{font-size:16px;line-height:1.6;color:var(--muted);margin:0}.filters{display:flex;gap:28px;margin:35px 0 32px;border-bottom:1px solid var(--line);flex-wrap:wrap}.filters button{background:transparent;color:var(--muted);border:0;border-bottom:2px solid transparent;padding:0 0 14px;font-size:14px}.filters button.active{color:var(--ink);border-bottom-color:var(--accent)}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 20px}.photo-card{margin:0;min-width:0}.photo-card button{display:block;border:0;padding:0;width:100%;background:#242424;overflow:hidden;aspect-ratio:3/2}.photo-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}.photo-card button:hover img{transform:scale(1.025)}.photo-card figcaption{display:flex;justify-content:space-between;padding-top:12px;font-size:13px;color:var(--muted)}.gallery-note{font-size:13px;color:var(--muted);margin:30px 0 0}.about{display:grid;grid-template-columns:.85fr 1.15fr;gap:9%;margin:10px 7% 110px;padding-top:70px;border-top:1px solid var(--line);align-items:center}.portrait-space{min-height:470px;background:#1c1e1b;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;border:1px solid var(--line)}.monogram{font-family:'Playfair Display',serif;font-size:120px;font-style:italic;color:#6c7466}.portrait-note{position:absolute;bottom:30px;text-align:center;font-size:12px;letter-spacing:.15em;line-height:1.9;color:#a1a599}.about-copy h2{margin-bottom:28px}.about-copy p:not(.eyebrow){font-size:17px;color:var(--muted);line-height:1.85;max-width:530px}.text-link{display:inline-block;border-bottom:1px solid var(--accent);padding:14px 0;font-size:15px}.text-link span{margin-left:30px}.contact{text-align:center;padding:95px 5% 105px;background:#1c1e1b}.contact h2{font-size:clamp(40px,5vw,70px)}.contact>p:not(.eyebrow){margin:26px 0;color:var(--muted);font-size:17px;line-height:1.6}.contact-links{display:flex;justify-content:center;gap:40px;flex-wrap:wrap}.contact-links a{font-size:clamp(16px,1.8vw,22px);padding-bottom:10px;border-bottom:1px solid var(--accent);overflow-wrap:anywhere}footer{padding:45px 5%;display:flex;justify-content:space-between;gap:25px;align-items:center}footer p{font-size:12px;line-height:1.6;color:var(--muted);margin:0}dialog{border:0;padding:60px 70px;background:#101110;color:white;width:94vw;max-width:1500px;height:92svh;max-height:1100px}dialog::backdrop{background:#000d}dialog[open]{display:flex;align-items:center;justify-content:center}dialog figure{margin:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}dialog img{max-width:100%;max-height:calc(100% - 45px);object-fit:contain}dialog figcaption{padding-top:15px;font-size:14px}dialog button{position:absolute;border:1px solid #ffffff40;color:white;background:#161616;padding:10px;font-size:23px;min-width:45px}#close-lightbox{top:12px;right:12px}#previous{left:10px}#next{right:10px}
/* Concept 02: a bright, restrained exhibition space. */
body.gallery{--paper:#fff;--ink:#20241e;--muted:#62665f;--accent:#566841;--line:#20241e25;background:var(--paper);color:var(--ink)}.gallery header{height:118px}.gallery .hero{display:grid;grid-template-columns:1fr 1fr;min-height:660px;height:auto;max-height:none;margin:45px 5% 0;gap:6%;padding-bottom:60px}.gallery .hero-photo{position:relative;grid-column:2;grid-row:1;z-index:0;min-height:630px}.gallery .hero-photo img{object-position:60% center}.gallery .hero:after{display:none}.gallery .hero-copy{grid-row:1;grid-column:1;align-self:center;padding:25px 0}.gallery h1{font-size:clamp(54px,5.1vw,77px)}.gallery .intro{color:var(--muted)}.gallery .button{color:white}.gallery .hero-caption{left:0;right:0;bottom:10px;color:var(--muted)}.gallery .work{padding-top:70px}.gallery .photo-grid{gap:40px 26px}.gallery .photo-card button{background:#f1f2ee}.gallery .portrait-space,.gallery .contact{background:#f0f2ed}.gallery .portrait-space{border:0}.gallery .portrait-note{color:#656d5f}.gallery .contact{margin:0 5%}.gallery footer{padding-top:55px;padding-bottom:55px}
/* Concept 03: graphic typography and a magazine-like photographic sequence. */
body.editorial{--paper:#f5f3ef;--ink:#161616;--muted:#66635e;--accent:#ab321e;--line:#16161630;background:var(--paper);color:var(--ink)}.editorial header{border-bottom:2px solid #171717;margin:0 4%;padding:0;height:110px}.editorial .hero{min-height:760px;height:auto;max-height:none;padding:50px 4% 65px;display:grid;grid-template-columns:1.15fr 1fr;gap:5%}.editorial .hero:after{display:none}.editorial .hero-photo{position:relative;grid-row:1;grid-column:2;z-index:0;align-self:end;height:490px}.editorial .hero-photo img{object-position:60% center}.editorial .hero-copy{padding:0;grid-row:1;grid-column:1}.editorial h1{font-family:'Manrope',Arial,sans-serif;text-transform:uppercase;font-weight:800;letter-spacing:-.065em;font-size:clamp(58px,6.2vw,92px);line-height:1.08}.editorial h1 em{font-style:normal;font-weight:800}.editorial .intro{color:var(--muted);margin-top:30px}.editorial .button{background:#171717;color:white}.editorial .hero-caption{left:4%;right:4%;color:var(--muted)}.editorial h2{font-family:'Manrope',Arial,sans-serif;font-weight:700;letter-spacing:-.05em}.editorial h2 em{font-style:normal;font-weight:700}.editorial .work{border-top:2px solid #161616;padding-top:65px}.editorial .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 30px}.editorial .photo-card:nth-child(5n+1){grid-column:1/-1}.editorial .photo-card:nth-child(5n+1) button{aspect-ratio:2.2}.editorial .photo-card figcaption{text-transform:uppercase;letter-spacing:.07em}.editorial .portrait-space{background:#e6e3dc;border:0}.editorial .monogram{color:#a83422}.editorial .portrait-note{color:#6a615a}.editorial .contact{background:#aa321e;color:#fff}.editorial .contact h2 em{color:#fff}.editorial .contact>p:not(.eyebrow){color:#f4d9d2}.editorial .contact-links a{border-color:#fff8}
@media(min-width:1600px){.work,.about,header,footer{padding-left:max(5%,calc((100vw - 1500px)/2));padding-right:max(5%,calc((100vw - 1500px)/2))}}
@media(max-width:800px){header{height:90px;padding:0 5%}.brand{font-size:16px}.brand span{font-size:10px}header nav{gap:18px;font-size:13px}.contact-nav span{display:none}.concepts{flex-direction:column;padding:10px 3%;gap:5px}.concepts>span{font-size:11px}.concepts a{padding:7px 10px;font-size:12px}.hero{min-height:650px;height:auto}.hero-copy{padding:70px 6% 100px}h1{font-size:66px}.hero-photo img{object-position:63% center}.hero-caption{left:6%;right:6%;font-size:11px}.hero-caption span:first-child{display:none}.work{padding:65px 5%}.section-heading>p{display:none}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 15px}.filters{gap:18px}.filters button{font-size:13px}.about{gap:35px;margin:0 5% 65px;padding-top:45px}.portrait-space{min-height:350px}.about-copy p:not(.eyebrow){font-size:16px}.monogram{font-size:90px}.contact{padding:65px 6%}.contact-links{gap:24px}footer{flex-wrap:wrap}.gallery .hero{min-height:0;gap:4%;margin-top:30px}.gallery .hero-photo{min-height:500px}.gallery h1{font-size:47px}.gallery .hero-copy .eyebrow{font-size:10px}.gallery .intro{font-size:16px}.gallery .button{gap:15px;padding:15px}.editorial .hero{min-height:0}.editorial h1{font-size:55px}.editorial .hero-photo{height:440px}.editorial .hero-copy .eyebrow{font-size:11px}.editorial .intro{font-size:16px}}
@media(max-width:540px){header{height:90px}header nav{gap:14px}header nav .contact-nav{display:none}h1{font-size:59px}.hero{min-height:655px}.hero-copy{padding-top:85px}.hero:after{background:linear-gradient(90deg,#000c,#0005),linear-gradient(0deg,#0007,transparent)}.eyebrow{font-size:11px}.photo-grid{gap:24px 12px}.photo-card figcaption{font-size:12px;line-height:1.5}.photo-card figcaption span:last-child{display:none}.filters{gap:12px 20px}.about{grid-template-columns:1fr}.portrait-space{min-height:290px}.about-copy h2{font-size:38px}.contact-links{flex-direction:column;align-items:center}.contact-links a{max-width:100%;font-size:16px}footer{flex-direction:column;align-items:flex-start}.gallery header{height:90px}.gallery .hero{display:flex;flex-direction:column;margin-top:15px;gap:25px;padding-bottom:45px}.gallery .hero-copy{order:0;padding:20px 0 0;align-self:stretch}.gallery h1{font-size:60px}.gallery .hero-photo{order:1;height:330px;min-height:0}.gallery .hero-copy .eyebrow{font-size:11px}.gallery .photo-grid{gap:24px 12px}.gallery .hero-caption{bottom:5px}.editorial header{height:90px}.editorial .hero{display:flex;flex-direction:column;padding-top:35px;gap:30px}.editorial h1{font-size:65px}.editorial .hero-photo{height:310px;width:100%}.editorial .photo-grid{gap:30px 12px}.editorial .photo-card:nth-child(5n+1) button{aspect-ratio:3/2}dialog{width:100vw;height:85svh;padding:60px 12px 75px}#previous,#next{bottom:12px}dialog figcaption{font-size:12px}.desktop-break{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Chris McGee portrait: preserve the full photograph at every screen size. */
.portrait-space{min-height:0;overflow:hidden}.chris-portrait{display:block;width:100%;height:auto}

/* The public layout has no design-preview toolbar. */
.hero{height:calc(100svh - 108px)}
@media(max-width:800px){.hero{height:auto}}
