*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#faf9f6;color:#24231f;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a,button{-webkit-tap-highlight-color:transparent}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible,button:focus-visible{outline:2px solid #64645a;outline-offset:5px}header{height:100px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;gap:28px;position:sticky;top:0;z-index:20;background:rgba(250,249,246,.97);border-bottom:1px solid #d8d6ce}.brand{font-family:Georgia,serif;font-size:30px;letter-spacing:-1px;white-space:nowrap}nav{display:flex;gap:30px;font-size:13px}main{margin:0 4%}.portfolio-note{display:flex;justify-content:space-between;gap:20px;padding:30px 0;font-size:11px;color:#77776f}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 24px;align-items:start;margin-bottom:80px}.gallery figure{margin:0;min-width:0}.gallery .lead{grid-column:span 2;grid-row:span 2}.image-button{display:block;border:0;background:#eeede8;padding:0;width:100%;cursor:zoom-in;overflow:hidden;position:relative}.image-button img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;transition:transform .45s}.image-button:hover img{transform:none}.gallery figcaption{padding-top:12px;display:flex;flex-direction:column;gap:5px;font-size:12px;line-height:1.5}.gallery figcaption span:last-child{color:#77776f;font-size:11px}.about{border-top:1px solid #d8d6ce;padding:70px 0 80px;display:grid;grid-template-columns:1fr 2fr;gap:8%;align-items:start}.bio-photo img{display:block;width:100%;max-width:380px;height:auto}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;margin:0 0 18px;color:#77776f}.bio-copy h1{font-family:Georgia,serif;font-size:42px;line-height:1.1;font-weight:400;letter-spacing:-1.4px;margin:0 0 30px}.bio-copy p:not(.eyebrow){font-size:14px;line-height:1.85;margin:0 0 21px;max-width:720px;color:#55554e}.contact{border-top:1px solid #d8d6ce;padding:46px 0 65px;display:grid;grid-template-columns:1fr 2fr;gap:8%}.contact h2{font-size:14px;font-weight:400;line-height:1.6;margin:0}.contact-details{display:flex;flex-wrap:wrap;gap:30px 40px}.contact-details a{font-size:14px;line-height:1.7;overflow-wrap:anywhere}.contact-details a span{display:block;text-transform:uppercase;letter-spacing:1px;font-size:10px;color:#77776f;margin-bottom:7px}footer{border-top:1px solid #d8d6ce;margin:0 4%;padding:25px 0 32px;display:flex;justify-content:space-between;font-size:11px;color:#77776f}dialog{border:0;padding:26px;background:#faf9f6;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0}dialog::backdrop{background:#faf9f6}dialog .viewer{height:100%;display:flex;align-items:center;justify-content:center;padding:40px 50px 50px}dialog img{max-width:100%;max-height:100%;object-fit:contain}dialog button{background:none;border:0;cursor:pointer;padding:12px;font-size:27px;position:absolute}#close{right:18px;top:12px}#previous{left:8px;top:45%}#next{right:8px;top:45%}#image-caption{position:absolute;bottom:18px;left:30px;right:30px;font-size:12px;text-align:center}.viewer-label{position:absolute;top:22px;left:30px;font-family:Georgia,serif;font-size:22px;letter-spacing:-.6px}@media(min-width:1800px){main,footer{max-width:1650px;margin-left:auto;margin-right:auto}header{padding-left:max(4%,calc((100% - 1650px)/2));padding-right:max(4%,calc((100% - 1650px)/2))}}@media(max-width:700px){header{min-height:98px;height:auto;padding:20px 5%;align-items:flex-start;flex-direction:column;gap:14px}.brand{font-size:27px}nav{gap:25px;font-size:12px}main{margin:0 5%}.portfolio-note{padding:25px 0;font-size:11px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px;margin-bottom:50px}.gallery .lead{grid-row:auto}.gallery figcaption{font-size:11px;gap:4px;padding-top:9px}.gallery figcaption span:last-child{font-size:11px}.about{grid-template-columns:1fr;gap:34px;padding:40px 0 45px}.bio-photo img{max-width:280px}.bio-copy h1{font-size:34px;margin-bottom:25px}.bio-copy p:not(.eyebrow){font-size:14px;line-height:1.85}.contact{grid-template-columns:1fr;gap:28px;padding:32px 0 45px}.contact-details{flex-direction:column;gap:25px}.contact-details a{font-size:14px}footer{margin:0 5%;font-size:10px}dialog{padding:12px}dialog .viewer{padding:45px 24px 55px}.viewer-label{left:20px;font-size:20px}#image-caption{left:22px;right:22px;font-size:11px}dialog button{font-size:22px}#previous{left:0}#next{right:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Compact portfolio and separate biography */
header{height:104px}
.brand{display:flex;flex-direction:column;gap:9px;font-size:27px}
.brand-subtitle{font-family:Arial,Helvetica,sans-serif;font-size:10px;letter-spacing:.6px;line-height:1.4}
.brand:hover{text-decoration:none}
nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:7px}
.masthead{display:flex;justify-content:space-between;align-items:flex-end;gap:36px;padding:46px 0 38px;border-bottom:1px solid #d8d6ce}
.masthead h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(40px,5.6vw,84px);line-height:1.07;letter-spacing:-3px;margin:0}
.masthead h1 em{font-weight:400}
.masthead-note{display:flex;flex-direction:column;gap:9px;font-size:10px;line-height:1.5;color:#77776f;text-align:right;white-space:nowrap;padding-bottom:5px}
.portfolio-note{padding:23px 0;font-size:10px;text-transform:uppercase;letter-spacing:1px}
.gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 18px;margin-bottom:55px}
.gallery .lead{grid-column:auto;grid-row:auto}
.gallery figcaption{padding-top:9px;gap:3px;font-size:11px}
.bio-page .about{border-top:0;padding-top:66px;min-height:65vh}
.bio-page .bio-photo{position:sticky;top:144px}
@media(min-width:1500px){.gallery{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(min-width:701px) and (max-width:1100px){.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.masthead h1{font-size:54px}.masthead-note{font-size:10px}}
@media(max-width:700px){header{height:auto;min-height:113px;gap:18px}.brand{font-size:26px;gap:8px}.brand-subtitle{font-size:9px;letter-spacing:.3px}nav{gap:24px}.masthead{padding:32px 0 26px;display:block}.masthead h1{font-size:47px;letter-spacing:-2px;max-width:500px}.masthead-note{flex-direction:row;flex-wrap:wrap;justify-content:space-between;text-align:left;margin-top:22px;gap:14px;white-space:normal}.portfolio-note{padding:20px 0}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 12px}.bio-page .about{padding-top:35px}.bio-page .bio-photo{position:static}}

@media(max-width:700px){nav{gap:18px;flex-wrap:wrap}}

/* Natural image proportions without letterboxing or forced head crops. */
.gallery{display:block;columns:4;column-gap:18px}
.gallery figure{break-inside:avoid;page-break-inside:avoid;display:inline-block;width:100%;margin:0 0 28px;vertical-align:top}
.image-button{background:transparent;border:0;border-radius:0;box-shadow:none}
.image-button img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;transform:none}
.image-button.crop-frame img{aspect-ratio:4/5;object-fit:cover;object-position:center top}
@media(min-width:1500px){.gallery{columns:5}}
@media(min-width:701px) and (max-width:1100px){.gallery{columns:3}}
@media(max-width:700px){.gallery{columns:2;column-gap:12px}.gallery figure{margin-bottom:23px}}

/* Refined nameplate: high-contrast serif and generous spacing. */
.brand{gap:11px}
.brand>span:first-child{font-family:Georgia,serif;font-style:normal;font-weight:700;font-size:29px;line-height:1.1;letter-spacing:-.7px;text-transform:lowercase;font-kerning:normal}
.brand-subtitle{font-size:9px;letter-spacing:1px}
@media(max-width:700px){.brand{gap:10px}.brand>span:first-child{font-size:26px;letter-spacing:-.5px}.brand-subtitle{font-size:9px;letter-spacing:.7px}}


/* Uniform portfolio rows, four photos across on desktop. */
.gallery{display:grid;columns:auto;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 18px;align-items:start}
.gallery figure{display:block;width:auto;margin:0;break-inside:auto}
.image-button img{width:100%;height:auto;aspect-ratio:4/5;object-position:center top}
@media(max-width:700px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 12px}}

.gallery figcaption span:only-child{color:#24231f;font-size:11px}

header nav{flex-wrap:wrap;justify-content:flex-end}header nav a{white-space:nowrap}
@media(min-width:701px) and (max-width:1000px){header nav{gap:18px;font-size:12px}}
@media(max-width:700px){header nav{justify-content:flex-start;gap:12px 18px}}

/* Biography layout inspired by the supplied portrait reference. */
.bio-page .about{grid-template-columns:.82fr 1fr;gap:12%;padding:62px 0 74px;align-items:start}
.bio-page .bio-photo{top:138px}
.bio-page .bio-photo img{width:100%;max-width:none;height:auto;aspect-ratio:4/5;object-fit:cover;filter:grayscale(1);background:#000}
.bio-page .portrait-caption{margin:20px 0 0;font-size:10px;letter-spacing:1.8px;line-height:1.6;text-transform:uppercase;color:#24231f}
.bio-page .bio-copy{padding-top:28px}
.bio-page .bio-copy .eyebrow{font-size:11px;letter-spacing:2px;margin-bottom:36px}
.bio-page .bio-copy h1{font-family:Arial,Helvetica,sans-serif;font-weight:400;font-size:clamp(38px,4.9vw,76px);line-height:1.08;letter-spacing:-3px;margin:0 0 42px}
.bio-page .bio-copy p.bio-intro{font-size:18px;line-height:1.65;color:#24231f;margin:0 0 30px}
.bio-page .bio-copy p:not(.eyebrow):not(.bio-intro){font-size:14px;line-height:1.85;color:#77776f;margin-bottom:24px}
.bio-page .bio-instagram{display:inline-block;font-size:12px;line-height:1.8;border-bottom:1px solid #24231f;padding:8px 0;margin-top:8px;text-decoration:none}
@media(min-width:701px) and (max-width:1000px){.bio-page .about{grid-template-columns:.8fr 1fr;gap:7%}.bio-page .bio-copy h1{font-size:38px;letter-spacing:-1.8px}.bio-page .bio-copy p.bio-intro{font-size:16px}.bio-page .bio-copy{padding-top:12px}}
@media(max-width:700px){.bio-page .about{grid-template-columns:1fr;gap:38px;padding:35px 0 48px}.bio-page .bio-photo{position:static;max-width:420px;width:100%;margin:auto}.bio-page .bio-copy{padding-top:0}.bio-page .bio-copy h1{font-size:clamp(34px,7.5vw,48px);letter-spacing:-1.8px;margin-bottom:30px}.bio-page .bio-copy .eyebrow{margin-bottom:25px}.bio-page .bio-copy p.bio-intro{font-size:17px}.bio-page .portrait-caption{font-size:9px}}

/* Red Carpet uses a single frame size, regardless of source proportions. */
.image-button.uniform-frame{aspect-ratio:4/5;position:relative;overflow:hidden}
.image-button.uniform-frame img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center top}

/* Light grey band behind the details headline. */
.masthead{background:#eeeeee;box-shadow:0 0 0 100vmax #eeeeee;clip-path:inset(0 -100vmax)}

/* Uppercase navigation, retaining the existing font and sizing. */
header nav a{text-transform:uppercase}

/* Pair agency contacts above Direct and Instagram in aligned columns. */
.contact-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 40px;align-items:start}
.contact-details a{min-width:0;display:grid;grid-template-rows:minmax(34px,auto) auto;align-content:start}
.contact-details a span{margin-bottom:7px}
@media(max-width:700px){.contact-details{grid-template-columns:1fr;gap:25px}.contact-details a{grid-template-rows:auto auto}}
