@font-face{font-family:Wide;src:url('/assets/fonts/Michroma-Regular.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:WideBold;src:url('/assets/fonts/GreenMountain3.ttf') format('truetype');font-weight:400;font-display:swap}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:60px}body{margin:0;color:#000;background:#fff;font-family:Wide,Arial,sans-serif;font-size:11px;font-weight:400;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{background:none;color:inherit;border:0;padding:0;cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}h1,h2,h3,p{margin:0;font:inherit}a:hover,button:hover{text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:1px solid #000;outline-offset:4px}button:disabled{opacity:.5;cursor:wait}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:-80px;left:25px;padding:12px;background:white;z-index:20}.skip:focus{top:12px}.marquee{height:48px;overflow:hidden;width:100%;display:flex;align-items:center;user-select:none}.marquee-track{display:flex;flex-shrink:0;width:max-content;animation:marquee 48s linear infinite;will-change:transform;font-size:12px;line-height:1.2;letter-spacing:-.4px}.marquee-group{--space:clamp(24px,2.5vw,44px);display:flex;align-items:center;justify-content:space-around;gap:var(--space);padding-inline:calc(var(--space)/2);min-width:100vw;flex-shrink:0}.marquee-group span{flex-shrink:0;white-space:nowrap}@keyframes marquee{from{transform:translateX(-50%)}to{transform:translateX(0)}}main{padding:18px 27px 0}.section-label{font-family:WideBold,Arial,sans-serif;font-size:9px;line-height:14px;font-weight:400;letter-spacing:0}.opening{min-height:calc(100svh - 65px);padding-bottom:150px}.photo-grid{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start;margin:25px 15px 0}.photo{display:block;overflow:hidden;height:120px;position:relative;background:#eceaea;flex:0 0 auto}.photo.portrait{width:88px}.photo.square{width:120px}.photo.landscape{width:179px}.photo>img{width:100%;height:100%;object-fit:cover;transition:filter .12s}.photo:hover>img{filter:brightness(.85)}.crop-face>img{object-position:50% 28%;transform:scale(2.4);transform-origin:50% 30%}.crop-denim>img{transform:scale(1.45);transform-origin:50% 45%}.crop-pocket>img{transform:scale(2);transform-origin:54% 57%}.crop-ladder>img{transform:scale(1.65);transform-origin:60% 65%}.crop-waist>img{transform:scale(2);transform-origin:50% 55%}.crop-collar>img{transform:scale(2.25);transform-origin:50% 25%}.crop-boots>img{transform:scale(1.5);transform-origin:55% 80%}.crop-portrait>img{transform:scale(2.3);transform-origin:53% 25%}.credit{display:inline-block;font-size:7px;margin:12px 0 0 15px;line-height:15px}.credit:hover{text-decoration:underline}.identity{position:fixed;left:27px;bottom:27px;z-index:3;background:#fff;padding:3px 8px 0 0}.wordmark{display:inline-flex;align-items:center;font-family:WideBold,Arial,sans-serif;font-size:25px;font-weight:400;line-height:32px;letter-spacing:0;margin-bottom:24px}.identity nav{display:grid;justify-items:start;gap:5px}.identity nav button{font-family:WideBold,Arial,sans-serif;font-size:8px;font-weight:400;line-height:12px;letter-spacing:.1px}.identity nav button:hover{text-decoration:underline;text-underline-offset:3px}.identity .service-nav{margin-top:24px;display:none}.services{padding:0 15px 220px;margin-left:265px;max-width:1050px}.service-index{margin-top:25px}.service-index>button{display:grid;grid-template-columns:210px 1fr 95px;gap:20px;align-items:baseline;width:100%;text-align:left;padding:22px 0;border-bottom:1px solid #eee;font-size:10px;line-height:1.6}.service-index strong{font-family:WideBold,Arial,sans-serif;font-size:10px;font-weight:400;line-height:1.5}.service-index span{font-family:Arial,sans-serif;font-size:12px;color:#555}.service-index b{font-size:8px;font-weight:400;text-align:right;white-space:nowrap}.service-index>button:hover b{text-decoration:underline;text-underline-offset:4px}.service-note{font-size:8px;margin-top:30px;line-height:1.9}footer{font-size:7px;line-height:1.5;text-align:right;padding:0 15px 22px;margin-left:265px}
dialog{border:0;padding:0;background:transparent;color:#000;max-width:calc(100vw - 50px);max-height:calc(100svh - 50px);overflow:visible}dialog::backdrop{background:transparent}body:has(dialog[open]:not(#info)){overflow:hidden}.close{position:absolute;top:0;right:5px;font-family:Arial,sans-serif;font-size:19px;font-weight:300;line-height:18px;width:18px;height:20px;z-index:10}.close:hover{opacity:.5}.info-dialog{width:760px}.info-layout{display:grid;grid-template-columns:1fr 1fr;background:#fff;min-height:580px}.info-copy{padding:7px 20px 20px 8px}.info-copy h2{outline:none;font-family:Wide,Arial,sans-serif;font-size:13px;font-weight:400;line-height:18px;letter-spacing:-.35px}.info-link{font-size:9px;line-height:15px;display:block;max-width:max-content;margin-top:25px}.info-link+.info-link{margin-top:14px}.info-link:hover{text-decoration:underline;text-underline-offset:3px}.intro-image{position:relative;height:580px;overflow:hidden}.intro-image>button{display:block;width:100%;height:100%;position:relative;overflow:hidden}#intro-photo{width:100%;height:100%;object-fit:cover;object-position:center}#intro-thumbnail{position:absolute;right:22px;top:20px;width:81px;height:124px;object-fit:cover;border:3px solid #fff}.intro-image>span{position:absolute;bottom:12px;left:0;right:0;text-align:center;font-family:Wide,Arial,sans-serif;font-size:6px;color:#fff;text-shadow:0 0 2px #777;pointer-events:none}.info-dialog>.close{right:3px;top:0;background:#ffffffa0;font-size:17px;width:16px;height:17px}
.booking-dialog{width:732px;padding-right:0}.booking-dialog>.close{right:-15px;top:-2px}.booking-dialog form,.success{max-height:calc(100svh - 80px);overflow:auto;scrollbar-width:thin;background:#fff}input:not([type=checkbox]),select,textarea{display:block;background:#f7f7f7;border:0;border-radius:0;width:100%;padding:10px 25px;margin:0 0 5px;color:#111;font-family:Wide,Arial,sans-serif;font-size:12px;font-weight:400;line-height:18px;min-height:38px;letter-spacing:-.35px}input::placeholder,textarea::placeholder{color:#6d6d6d;opacity:1}select{text-transform:uppercase;padding-right:25px;color:#4b4b4b;cursor:pointer}select option{font-size:12px}textarea{height:102px;min-height:90px;max-height:220px;resize:vertical}.date-row{display:flex;align-items:center;gap:15px;background:#f7f7f7;margin-bottom:5px;padding-left:25px}.date-row>label{font-size:10px;color:#555;flex:1;white-space:nowrap}.date-row>input{flex:1;width:50%;margin:0;padding-left:0}#details-toggle{display:block;font-size:7px;line-height:18px;margin:7px 0 9px 25px}#details-toggle:hover{text-decoration:underline}#extra-details{margin-bottom:8px}.consent{display:flex;align-items:flex-start;gap:8px;font:10px/1.45 Arial,sans-serif;padding:5px 25px 0}.consent input{width:12px;height:12px;accent-color:#000;margin:1px 0 0;flex-shrink:0;cursor:pointer}.consent label{cursor:pointer}.privacy{font:9px/1.5 Arial,sans-serif;color:#686868;margin:7px 25px 10px}.privacy a{text-decoration:underline;text-underline-offset:2px}.submit-button{font-family:Wide,Arial,sans-serif;background:#000;color:#fff;font-size:12px;line-height:18px;width:100%;min-height:37px;padding:8px 15px;letter-spacing:-.3px}.submit-button:hover{background:#242424}.reply-note{text-align:center;font-size:6px;line-height:1.6;letter-spacing:.05px;margin:8px 0 0}.form-error{font:11px/1.5 Arial,sans-serif;color:#a12c2c;padding:10px 25px;outline:0}.bot-field{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(100%);white-space:nowrap}.success{padding:30px 25px 20px}.success h3{font-size:20px;line-height:1.4;margin-bottom:25px;outline:0}.success p{font:12px/1.6 Arial,sans-serif;margin-bottom:10px}.success .submit-button{margin-top:25px}#another-enquiry{display:block;font-size:8px;line-height:16px;margin:15px auto 0}.viewer{background:white;width:100vw;height:100svh;max-width:100vw;max-height:100svh;padding:25px}.viewer::backdrop{background:white}.viewer[open]{display:flex;flex-direction:column;align-items:center}.viewer>.close{right:22px;top:17px}.viewer>img{width:100%;height:calc(100svh - 100px);object-fit:contain;min-height:0}.viewer-controls{display:flex;align-items:center;justify-content:space-between;gap:25px;width:min(600px,100%);min-height:40px;font-size:9px;padding-top:10px}.viewer-controls button{min-height:28px}.viewer-controls button:first-child,.viewer-controls button:last-child{font-size:18px}.no-script{position:fixed;bottom:0;left:0;right:0;background:white;z-index:30;padding:20px;font:13px Arial,sans-serif}
@media(min-width:1700px){.photo{height:150px}.photo.portrait{width:112px}.photo.square{width:150px}.photo.landscape{width:224px}.identity .service-nav{display:grid}.identity{bottom:35px}}
@media(max-width:850px){.service-index>button{grid-template-columns:1fr 90px;gap:10px}.service-index span{grid-column:1;grid-row:2}.service-index b{grid-column:2;grid-row:1}.services{margin-left:230px}.info-layout{min-height:520px}.intro-image{height:520px}.info-copy h2{font-size:11px;line-height:16px}.info-dialog{width:700px}}
@media(max-width:600px){.marquee{height:31px}.marquee-track{font-size:10px;letter-spacing:-.2px}main{padding:20px 15px 0}.section-label{font-size:8px;line-height:12px}.photo-grid{gap:5px;margin:18px 4px 0}.photo{height:94px}.photo.portrait{width:68px}.photo.square{width:94px}.photo.landscape{width:141px}.credit{font-size:6px;margin:9px 0 0 4px}.opening{min-height:calc(100svh - 50px);padding-bottom:160px}.identity{left:15px;bottom:20px;padding-right:8px}.wordmark{font-size:22px;line-height:28px;margin-bottom:18px}.identity nav{gap:4px}.identity nav button{font-size:7px;line-height:12px}.services{padding:10px 4px 190px;margin-left:0;width:100%;max-width:none}.service-index>button{padding:20px 0;grid-template-columns:1fr 70px}.service-index strong{font-size:9px}.service-index span{font-size:12px;max-width:245px}.service-index b{font-size:7px}.service-note{font-size:6px;max-width:280px;line-height:1.8}footer{margin-left:180px;padding:0 4px 18px;font-size:6px}dialog{max-width:calc(100vw - 36px);max-height:calc(100svh - 40px)}.info-dialog{width:440px}.info-layout{display:flex;flex-direction:column;min-height:0;max-height:calc(100svh - 40px);overflow:auto}.info-copy{padding:12px 26px 18px 10px}.info-copy h2{font-size:10px;line-height:15px;letter-spacing:-.25px}.info-link{font-size:8px;line-height:13px;margin-top:17px}.info-link+.info-link{margin-top:9px}.intro-image{height:43svh;min-height:240px;max-height:440px}.intro-image>button{height:100%}#intro-photo{object-position:50% 29%}#intro-thumbnail{width:58px;height:86px;right:13px;top:12px;border-width:2px}.info-dialog>.close{right:4px;top:4px;background:white}.booking-dialog{width:calc(100vw - 40px)}.booking-dialog>.close{right:-15px;top:0}.booking-dialog form,.success{max-height:calc(100svh - 45px)}input:not([type=checkbox]),select,textarea{font-size:16px;line-height:21px;min-height:43px;padding:10px 15px;letter-spacing:-.2px}select option{font-size:12px}textarea{height:115px}.date-row{padding-left:15px;gap:7px}.date-row label{font-size:8px}.date-row input{font-size:9px}#details-toggle{margin-left:15px;font-size:6px}.consent{padding:7px 15px 0;font-size:10px;line-height:1.5}.privacy{margin-left:15px;margin-right:15px;font-size:9px}.reply-note{font-size:5.5px;margin-top:8px}.form-error{padding-left:15px;padding-right:15px}.submit-button{font-size:11px;padding:10px;min-height:40px}.success{padding:26px 18px 20px}.success h3{font-size:15px;line-height:1.5}.viewer{max-width:100vw;max-height:100svh;padding:34px 15px 17px}.viewer>.close{top:12px;right:10px}.viewer>img{height:calc(100svh - 105px)}.viewer-controls{font-size:7px;gap:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee-track{animation:none}.photo>img{transition:none}}

.signature-s{height:1.2em;width:1em;max-width:none;object-fit:contain;display:inline-block;margin:0 -.025em;transform:translateY(-.015em)}
.photo-grid{margin-top:25px}.photo.landscape>img{object-position:center 28%}
.info-copy{padding-right:25px}.info-link{margin-top:30px}.intro-image{isolation:isolate}.intro-image>#intro-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:52% 25%}.intro-image>#intro-next{position:absolute;inset:20px 22px auto auto;width:90px;height:120px;aspect-ratio:3/4;border:3px solid white;background:#eee;overflow:hidden}.intro-image>#intro-next:hover{opacity:.9}#intro-thumbnail{position:static;inset:auto;width:100%;height:100%;object-fit:cover;object-position:center;border:0}
.services{margin-left:235px;max-width:1140px;padding:40px 15px 180px}.services-layout{display:grid;grid-template-columns:minmax(240px,.85fr) minmax(320px,1fr);gap:55px;margin-top:32px;align-items:start}.service-visual{position:sticky;top:50px;margin:0}.service-photo{position:relative;aspect-ratio:3/4;background:#f3f3f3}.service-photo:before{content:'';position:absolute;inset:12px -12px -12px 12px;background:#f0f0f0;z-index:-1}.service-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 28%}.service-visual figcaption{display:flex;justify-content:space-between;gap:20px;font-size:6px;line-height:1.6;margin-top:24px}.service-visual figcaption>span:first-child{font-size:10px}.service-index{margin:0}.service-item{border-top:1px solid #ddd}.service-item:last-of-type{border-bottom:1px solid #ddd}.service-item h3{margin:0}.service-toggle{width:100%;display:grid;grid-template-columns:22px 1fr 15px;gap:10px;align-items:baseline;text-align:left;padding:24px 0;font-family:WideBold,Arial,sans-serif;font-size:12px;font-weight:400;line-height:1.6}.service-toggle:hover,.service-toggle[aria-expanded=true]{color:#000}.service-toggle[aria-expanded=false]{color:#4e4e4e}.service-number{font-family:Wide,Arial,sans-serif;font-size:7px;font-weight:400;color:#777}.service-symbol{font-family:Arial,sans-serif;font-size:17px;font-weight:400;text-align:right}.service-panel{padding:0 25px 30px 32px}.service-panel p{font:12px/1.8 Arial,sans-serif;max-width:330px;color:#404040}.service-enquire{font-size:7px;line-height:1.6;margin-top:21px;display:block;text-align:left}.service-enquire:hover,.bespoke-link:hover{text-decoration:underline;text-underline-offset:4px}.bespoke-link{display:inline-block;font-size:7px;line-height:1.6;margin:29px 0 0 32px}.booking-dialog .submit-button{margin-top:9px}
@media(max-width:1100px){.services{margin-left:215px}.services-layout{gap:32px;grid-template-columns:minmax(190px,.8fr) minmax(260px,1fr)}.service-toggle{font-size:10px;padding-block:20px}.service-panel{padding-left:30px}.service-visual figcaption{font-size:5px}}
@media(max-width:850px){.services{margin-left:215px}.services-layout{grid-template-columns:1fr;gap:32px}.service-visual{position:static;max-width:360px}.service-photo{aspect-ratio:4/3}.service-toggle{font-size:11px}.service-visual figcaption{font-size:6px}.service-panel p{max-width:400px}}
@media(max-width:600px){.marquee{height:38px}.services{margin-left:0;padding:30px 4px 180px}.services-layout{margin-top:25px;gap:24px}.service-visual{width:100%;max-width:none}.service-photo{aspect-ratio:4/3}.service-photo:before{inset:8px -7px -8px 7px}.service-visual figcaption{margin-top:18px}.service-toggle{font-size:10px;padding-block:22px;grid-template-columns:22px 1fr 15px}.service-panel p{font-size:12px;line-height:1.8}.service-panel{padding:0 15px 26px 32px}.service-enquire{font-size:7px;margin-top:18px}.info-copy{padding-right:26px}.intro-image>#intro-next{width:65px;height:86.6667px;inset:12px 13px auto auto;border-width:2px}.intro-image>#intro-photo{object-position:50% 30%}.signature-s{height:1.18em;width:1em}}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none;transform:none}}

.viewer-credit{display:block;font-size:6px;line-height:10px;text-align:center}.viewer-credit:hover{text-decoration:underline}

.service-toggle>span{grid-column:auto;grid-row:auto;font:inherit;color:inherit}.service-toggle .service-number{font-family:Wide,Arial,sans-serif;font-size:7px;font-weight:400;color:#777}.service-toggle .service-symbol{font-family:Arial,sans-serif;font-size:17px;font-weight:400}

.shoots{margin:25px 15px 0}.shoot-group{margin:0 0 42px}.shoot-group:last-child{margin-bottom:0}.shoot-grid{--thumb-height:120px;margin:0;gap:8px;align-items:flex-start}.shoot-grid .photo{height:var(--thumb-height);width:calc(var(--thumb-height) * var(--photo-ratio));min-width:0;flex:0 0 auto;background:#fff}.shoot-grid .photo>img{width:100%;height:100%;object-fit:contain;object-position:center;transform:none}.shoot-caption{font:7px/18px Wide,Arial,sans-serif;margin-top:10px;letter-spacing:0}.shoot-caption a:hover{text-decoration:underline;text-underline-offset:3px}
@media(min-width:1700px){.shoot-grid{--thumb-height:140px}}
@media(max-width:600px){.shoots{margin:20px 4px 0}.shoot-group{margin-bottom:30px}.shoot-grid{--thumb-height:96px;gap:6px}.shoot-caption{font-size:6px;line-height:16px;margin-top:9px}}

/* The gallery keeps each shoot together, with captions beneath its photographs. */
html{scroll-padding-top:28px;scroll-behavior:auto}
body{height:auto;overflow:visible}
main{height:auto;overflow:visible}
.work-gallery{margin-bottom:68px}
.shoot-grid{--thumb-height:clamp(112px,8.45vw,173px)}
.shoot-group{scroll-margin-top:20px}
.shoot-caption{font:7px/18px Wide,Arial,sans-serif;font-weight:400;margin-top:10px;letter-spacing:0}
.identity{position:static;left:auto;bottom:auto;z-index:auto;width:max-content;max-width:100%;background:transparent;padding:0;margin:0 0 68px}
.identity .category-nav{display:grid;justify-items:start;gap:3px;margin-top:48px}
.identity nav button,.category-nav a{font-family:WideBold,Arial,sans-serif;font-size:clamp(11px,.72vw,15px);font-weight:400;line-height:1.5;letter-spacing:normal}
.category-nav a:hover,.category-nav a:focus-visible{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px}
.services{margin-left:0}
.service-photo{aspect-ratio:3/4}
.service-photo img[src$="/styling-shoes.webp"]{object-fit:contain;object-position:center}
#service-photo[src$="/service-event-studded-heels.webp"]{object-position:50% 100%}
.info-dialog[open]{display:block;position:fixed;top:50%;left:50%;right:auto;bottom:auto;margin:0;transform:translate(-50%,-50%);z-index:20}
@media(max-width:600px){.work-gallery{margin-bottom:58px}.shoot-grid{--thumb-height:96px}.shoot-caption{font-size:6px;line-height:16px;margin-top:9px}.identity{margin-bottom:58px}.identity .category-nav{margin-top:42px}.identity nav button,.category-nav a{font-size:12px;line-height:1.6}}

/* Project captions accompany the full-size photos; the dialog scrolls on smaller screens. */
.viewer{overflow:auto;overscroll-behavior:contain;padding:28px 25px 36px}
.viewer[open]{display:block}
.viewer>.close{position:fixed;z-index:2;background:#fff;right:18px;top:12px}
.viewer-content{width:100%;max-width:1500px;margin:0 auto}
#viewer-image{display:block;width:100%;height:auto;min-height:0;max-height:calc(100svh - 250px);object-fit:contain;object-position:center}
.viewer-controls{margin:0 auto;padding-top:8px;min-height:42px}
.project-details{width:min(1000px,100%);margin:24px auto 0;padding:0 18px;text-transform:uppercase;text-align:left}
.project-details h2,.project-details>p{font-family:WideBold,Arial,sans-serif;font-weight:400;letter-spacing:normal}
.project-details h2{font-size:clamp(14px,1.2vw,20px);line-height:1.5;margin:0 0 14px}
.project-details>p{font-size:clamp(14px,1.2vw,20px);line-height:1.75;white-space:pre-line;margin:0 0 14px;overflow-wrap:anywhere}
.project-details .project-location{font-size:10px;line-height:1.7}
.project-details .viewer-credit{font-size:8px;line-height:1.8;text-align:left;margin-top:20px;display:inline-block}
.project-details [hidden]{display:none}
@media(max-width:600px){.viewer{padding:34px 15px 30px}#viewer-image{height:auto;min-height:0;max-height:58svh}.project-details{padding:0 4px;margin-top:22px}.project-details h2{font-size:12px;margin-bottom:13px}.project-details>p{font-size:11px;line-height:1.8}.project-details .viewer-credit{font-size:7px;margin-top:14px}.viewer-controls{font-size:7px;gap:15px}}
