@font-face{font-family:Manrope;src:url('../assets/fonts/Manrope.ttf') format('truetype');font-style:normal;font-weight:200 800;font-display:swap}
:root{--paper:#f4f2ed;--panel:#fcfbf8;--ink:#1b1b19;--muted:#686861;--line:#ceccc5;--red:#d51d28;--heading:Manrope,'Helvetica Neue',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}main{max-width:1600px;margin:auto;padding:0 4% 30px}img{display:block;max-width:100%}a{color:inherit}a:focus-visible{outline:3px solid var(--red);outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2,.contact-title,.final-book{font-family:var(--heading)}
header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:30px;height:100px;background:var(--paper);border-bottom:1px solid transparent}header>img{width:220px;height:auto}header nav{display:flex;gap:28px}.mono,.eyebrow{font:11px/1.5 'Courier New',monospace;letter-spacing:1px;color:var(--muted)}nav a{text-decoration:none;font-size:12px;padding:12px 0}nav a:hover{color:var(--red)}.eyebrow{display:block}
.book{display:flex;justify-content:space-between;align-items:center;gap:40px;min-width:235px;padding:21px 25px;background:var(--red);color:#fff;text-decoration:none;font-size:17px;font-weight:700;letter-spacing:.3px;transition:background .2s}.book:hover{background:#a20f18}.book>span:last-child{font-size:25px;line-height:20px;font-weight:400}.book:focus-visible{outline-offset:4px}.mobile-book{display:none}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:280px 200px 130px;gap:1px;border:1px solid var(--line);background:var(--line)}.cell{position:relative;overflow:hidden;background:var(--panel)}.hero{grid-column:1/7;grid-row:1/3}.hero img{width:100%;height:100%;object-fit:cover;object-position:50% 42%}.intro{grid-column:7/13;grid-row:1;display:flex;flex-direction:column;align-items:flex-start;background:#222;color:#f4f2ec;padding:30px 38px}.intro .mono{color:#c6c5bd}h1{font-size:clamp(48px,4.8vw,77px);font-weight:600;line-height:1.04;letter-spacing:-3.2px;margin:28px 0 15px}h1 span{font-weight:300;color:#c6c5bd}.by{margin-top:auto}.detail{grid-column:7/13;grid-row:2}.detail img{width:100%;height:100%;object-fit:cover;object-position:50% 48%}.detail .mono{position:absolute;left:22px;bottom:15px;background:#222;color:#eee;padding:5px 9px;font-size:10px}.service{grid-column:span 4;padding:21px 26px;transition:box-shadow .2s}.service:hover{box-shadow:inset 0 0 0 1px var(--red);z-index:1}.service .mono::before{content:'';display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--red);margin-right:9px}.service h2{font-size:21px;line-height:1.4;letter-spacing:-.5px;font-weight:400;margin-top:16px}
.section{padding:76px 0}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;margin-bottom:34px}.section-heading h2{font-size:43px;line-height:1.13;letter-spacing:-1.7px;font-weight:400;max-width:620px}.gallery-series{display:grid;gap:38px}.series-label{margin-bottom:13px;font-size:11px}.series-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.series-grid figure{aspect-ratio:4/5;overflow:hidden}.series-grid img{width:100%;height:100%;object-fit:cover;transition:transform .75s}.series-grid figure:hover img{transform:scale(1.025)}.editorial figure:first-child img{object-position:50% 44%}.editorial figure:nth-child(2) img{object-position:50% 40%}.editorial figure:last-child img{object-position:50% 42%}.natural figure:first-child img{object-position:35% 45%}.natural figure:nth-child(2) img{object-position:35% 45%}.natural figure:last-child img{object-position:40% 45%}.details .series-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.details figure{aspect-ratio:1.85}.details figure:first-child img{object-position:50% 47%}.details figure:last-child img{object-position:65% 42%}
.artist{padding:55px 4.5%;background:#e7e5df;border-top:1px solid #b6b3aa;border-bottom:1px solid #b6b3aa}.artist-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:7%;align-items:start}.artist-photo{background:#d3d2cf}.artist-photo img{width:100%;height:auto}.artist-copy h2{font-size:61px;line-height:1.05;letter-spacing:-2.5px;font-weight:450;margin:19px 0 27px}.heart{font-family:Arial,sans-serif;font-size:.7em;vertical-align:middle;color:var(--red)}.artist-copy>p{font-size:15px;line-height:1.8;margin-bottom:19px;max-width:550px}.personal-note{display:grid;grid-template-columns:105px 1fr;align-items:start;gap:20px;border-top:1px solid #b9b6ad;padding-top:20px;margin:25px 0}.personal-note img{width:105px;height:140px;object-fit:cover;object-position:70% 30%}.personal-note p{font-size:14px;line-height:1.75}.artist-copy .signature{font-family:var(--heading);font-size:23px;line-height:1.25;margin:25px 0 0}
.policies{padding:65px 0}.section-top{margin-bottom:29px}.section-top h2{font-size:30px;font-weight:450;line-height:1.2;letter-spacing:-1px}.policy-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:27px}.policy-grid article{border-top:1px solid #aaa79f;padding-top:18px}.policy-grid h3{font:11px/1.5 'Courier New',monospace;letter-spacing:.4px;margin-bottom:12px}.policy-grid p{font-size:14px;line-height:1.7;color:#53534e}
footer.contact{display:grid;grid-template-columns:1fr 1fr 1fr;gap:36px;background:#222;color:#f4f2ec;padding:40px 4% 28px}.contact-lead{grid-column:1/-1;display:grid;grid-template-columns:1fr 2fr;align-items:center;gap:25px;padding-bottom:30px;border-bottom:1px solid #5b5b55}.contact .eyebrow{color:#bbb9b1}.contact .final-book{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:65px;max-width:540px;font-size:47px;line-height:1.1;font-weight:600;letter-spacing:-1.4px;color:#f4f2ec;text-decoration:none;transition:color .2s}.contact .final-book span{color:inherit}.contact .final-book:hover,.contact .final-book:focus-visible{color:#ff4a54}.contact-title{font-size:32px;line-height:1.12;letter-spacing:-1px;font-weight:500}.contact a:not(.final-book){display:block;text-decoration:none;font-size:14px;line-height:1.95;color:#eceae3}.contact a:not(.final-book):hover{color:#fff;text-decoration:underline}.contact p{font-size:14px;line-height:1.8;color:#c5c3bb;margin-top:19px}.contact .eyebrow{margin-bottom:17px}.contact-lead .eyebrow{margin:0}.footer-bottom{grid-column:1/-1;border-top:1px solid #55554f;padding-top:18px;display:flex;justify-content:space-between;gap:20px;color:#bcbab2;font-size:11px}.contact .footer-bottom a{font-size:11px}
@media(max-width:1100px){header>img{width:190px}.book{min-width:200px;font-size:15px;padding:20px 22px}.grid{grid-template-rows:255px 180px 125px}.intro{padding:26px 28px}h1{font-size:5vw;letter-spacing:-2.6px}.service{padding:18px}.service h2{font-size:19px}.artist-layout{gap:5%}.artist-copy h2{font-size:48px}.artist-copy>p{font-size:14px}.personal-note{grid-template-columns:85px 1fr;gap:15px}.personal-note img{width:85px;height:120px}.personal-note p{font-size:13px}}
@media(max-width:800px){main{padding:0 24px 28px}header nav{gap:18px}header>img{width:165px}nav a{font-size:11px}.book{min-width:175px;font-size:14px;gap:20px}.intro{padding:23px 24px}.grid{grid-template-rows:235px 160px 125px}.intro>.mono{font-size:10px}h1{font-size:5.3vw;margin-top:25px}.section-heading h2{font-size:35px}.artist-layout{grid-template-columns:1fr}.artist-photo{max-width:460px}.artist-copy{padding-top:28px}.artist-copy>p{max-width:none}.personal-note{grid-template-columns:110px 1fr}.personal-note img{width:110px;height:145px}.personal-note p{font-size:14px}.policy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-lead{grid-template-columns:1fr 1.7fr}.contact .final-book{font-size:36px}.contact-title{font-size:27px}}
@media(max-width:600px){html{scroll-padding-top:105px}main{padding:0 16px 90px}header{height:103px;gap:16px;padding-bottom:25px}header>img{width:151px;min-width:0}.book{min-width:145px;padding:17px 15px;gap:18px;font-size:13px}.book>span:last-child{font-size:23px}header nav{position:absolute;left:0;right:0;bottom:5px;justify-content:center;gap:28px}nav a{font-size:11px;padding:6px 0}.grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}.hero{grid-column:1/3;grid-row:1;height:275px}.intro{grid-column:1/3;grid-row:2;min-height:205px;padding:23px 24px}.intro>.mono{font-size:10px}h1{font-size:clamp(37px,10.5vw,56px);letter-spacing:-1.8px;line-height:1.08;margin:22px 0 16px}.by{font-size:10px}.detail{grid-column:1/3;grid-row:3;height:150px}.detail img{object-position:50% 48%}.service{grid-column:1/3;display:grid;grid-template-columns:.9fr 1.25fr;align-items:start;gap:16px;padding:19px 20px}.service .mono{font-size:10px}.service .mono:before{display:none}.service h2{font-size:18px;line-height:1.4;margin:0}.section{padding:50px 3px}.section-heading{display:block;margin-bottom:28px}.section-heading h2{font-size:33px;line-height:1.15;letter-spacing:-1.2px;margin-top:15px}.series-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery-series{gap:30px}.series-label{font-size:10px;margin-bottom:12px}.series-grid figure{aspect-ratio:3/4}.series-grid figure:last-child{grid-column:1/-1;aspect-ratio:1.4}.editorial figure:last-child img{object-position:50% 34%}.natural figure:last-child img{object-position:40% 50%}.details .series-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.details figure,.details .series-grid figure:last-child{grid-column:auto;aspect-ratio:1}.details figure:first-child img{object-position:50% 48%}.details figure:last-child img{object-position:65% 42%}.artist{padding:28px 22px 35px}.artist-layout{gap:0}.artist-photo{max-width:none}.artist-copy h2{font-size:48px;line-height:1.06;letter-spacing:-1.9px;margin:18px 0 25px}.artist-copy>p{font-size:15px;line-height:1.8}.personal-note{grid-template-columns:95px 1fr;gap:15px;margin:23px 0}.personal-note img{width:95px;height:140px}.personal-note p{font-size:13px;line-height:1.7}.artist-copy .signature{font-size:23px}.policy-grid{gap:27px 19px}.policy-grid h3{font-size:11px}.policy-grid p{font-size:13px;line-height:1.75}.section-top h2{font-size:28px}.contact{margin-top:5px}footer.contact{grid-template-columns:1fr;gap:28px;padding:30px 25px 26px}.contact-lead{display:block;padding-bottom:25px}.contact-lead .eyebrow{font-size:10px;margin-bottom:16px}.contact .final-book{font-size:34px;min-height:50px;letter-spacing:-1px;width:100%}.contact-title{font-size:30px}.contact a:not(.final-book),.contact p{font-size:14px}.footer-bottom{font-size:10px}.contact .footer-bottom a{font-size:10px}.mobile-book{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:60;min-height:62px;justify-content:center;font-size:17px;padding:20px 20px calc(20px + env(safe-area-inset-bottom));border-top:2px solid var(--paper)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Final editorial composition */
.work{padding:85px 0 75px}.work-heading{position:relative;z-index:2;padding-left:3%}.work-heading>.mono{display:block;border-left:1px solid var(--ink);padding:10px 0 10px 18px;margin-bottom:24px}.work-heading h2{font-size:clamp(46px,6.4vw,94px);font-weight:400;line-height:1.02;letter-spacing:-4px;max-width:950px}.work-heading em{font-weight:350}.work-collage{position:relative;height:900px;margin:35px 2% 0}.work-collage figure{position:absolute;overflow:hidden;outline:3px solid var(--paper)}.work-collage img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}.work-collage figure:hover img{transform:scale(1.025)}.work-campaign{left:0;top:0;width:52%;height:700px}.work-campaign img{object-position:50% 44%}.work-smile{right:2%;top:55px;width:39%;height:440px}.work-smile img{object-position:40% 42%}.work-bandana{left:12%;top:510px;width:37%;height:370px;transform:rotate(-3deg);z-index:3}.work-bandana img{object-position:50% 40%}.work-fan{right:0;top:450px;width:43%;height:430px;z-index:2}.work-fan img{object-position:50% 65%}
.artist{background:var(--panel);border:1px solid var(--line);padding:0}.artist-layout{grid-template-columns:1fr 1fr;gap:0}.artist-photo{height:100%;background:#d5d5d3}.artist-photo img{height:100%;object-fit:cover;object-position:50% 0}.artist-copy{padding:45px 10%}.artist-copy h2{font-weight:500}.artist-copy>p{font-size:15px;line-height:1.75}.artist-copy .eyebrow{font-size:10px}.reviews{display:grid;grid-template-columns:1fr 2fr;gap:6%;padding:65px 0;border-bottom:1px solid var(--line)}.reviews h2{font-size:30px;letter-spacing:-1px;font-weight:450;margin:14px 0 22px}.reviews-heading>a{font:10px/1.6 'Courier New',monospace;letter-spacing:.4px;text-underline-offset:5px}.reviews-heading>a:hover{color:var(--red)}.review-quotes{display:grid;grid-template-columns:1fr 1fr;gap:35px}.review-quotes blockquote{font-family:var(--heading);font-size:22px;line-height:1.5;letter-spacing:-.6px;margin:0 0 20px}.review-quotes figcaption{font:11px/1.6 'Courier New',monospace;color:var(--muted)}.service:hover{box-shadow:none}.service h2{margin-top:12px}
@media(max-width:1100px){.work-collage{height:760px}.work-campaign{height:590px}.work-smile{height:360px}.work-bandana{top:430px;height:310px}.work-fan{top:370px;height:360px}.artist-copy{padding:35px 8%}}
@media(max-width:800px){.work-collage{height:650px}.work-campaign{height:480px}.work-smile{height:310px;top:30px}.work-bandana{top:365px;height:260px}.work-fan{top:320px;height:305px}.artist-layout{grid-template-columns:.9fr 1.1fr}.artist-copy{padding:28px 7%}.artist-copy h2{font-size:39px}.artist-copy>p{font-size:14px}.reviews{gap:25px}.review-quotes{gap:20px}.review-quotes blockquote{font-size:18px}}
@media(max-width:600px){.work{padding:48px 0}.work-heading{padding-left:3px}.work-heading>.mono{margin-bottom:20px}.work-heading h2{font-size:clamp(36px,10.5vw,60px);letter-spacing:-1.8px}.work-collage{height:660px;margin:26px 3px 0}.work-campaign{width:65%;height:350px;top:0;left:0}.work-smile{width:43%;height:245px;right:0;top:170px;z-index:2}.work-bandana{width:53%;height:265px;left:3%;top:365px;transform:rotate(-2deg);z-index:3}.work-fan{width:45%;height:235px;right:0;top:425px;z-index:4}.artist-layout{display:block}.artist-photo{height:auto}.artist-photo img{height:auto;max-height:none}.artist-copy{padding:30px 23px}.artist-copy h2{font-size:46px}.artist-copy>p{font-size:15px}.reviews{display:block;padding:45px 3px}.reviews-heading{margin-bottom:30px}.review-quotes{gap:25px;grid-template-columns:1fr}.review-quotes figure{border-top:1px solid var(--line);padding-top:20px}.review-quotes blockquote{font-size:22px}.service h2{margin:0}}
@media(max-width:360px){.work-collage{height:585px}.work-campaign{height:310px}.work-smile{top:145px;height:220px}.work-bandana{top:320px;height:240px}.work-fan{top:375px;height:210px}}

/* Unified cover, campaign collage and client words */
.grid{grid-template-rows:260px 250px 145px;background:#55554f;border-color:#55554f}.intro{padding-top:27px}.intro>.mono{font-size:11px;letter-spacing:.6px}.intro .by{font-size:13px;letter-spacing:1.5px;color:#f4f2ed}.intro h1{margin-top:24px}.detail img{object-position:50% 47%}.service{background:#222;color:var(--paper);padding:24px 28px}.service .mono{color:#cfcdc5;font-size:12px}.service h2{font-size:22px;line-height:1.45;font-weight:350}.service .mono::before{width:5px;height:5px}.work{padding-top:65px}.work-heading{padding-left:2%}.work-heading h2{font-size:clamp(48px,6.1vw,88px);line-height:1.06}.work-collage{height:auto;aspect-ratio:1.12;margin:25px 2% 0}.work-campaign{left:0;top:0;width:57%;height:74%}.work-campaign img{object-position:50% 50%}.work-smile{right:0;top:8%;width:42%;height:48%}.work-smile img{object-position:40% 52%}.work-bandana{left:10%;top:61%;width:39%;height:39%;transform:rotate(-3deg)}.work-bandana img{object-position:50% 38%}.work-fan{right:0;top:47%;width:45%;height:49%;transform:rotate(2deg)}.work-fan img{object-position:50% 65%}.artist{margin-top:10px}.artist-layout{grid-template-columns:.95fr 1.05fr}.artist-copy{padding:42px 8%}.artist-copy .eyebrow{font-size:12px;letter-spacing:.5px;color:#53534e}.personal-note{grid-template-columns:125px 1fr;gap:23px;padding-top:22px;margin:22px 0}.personal-note img{width:125px;height:167px;object-position:70% 30%}.personal-note p{font-size:15px;line-height:1.75}.reviews{background:#222;color:var(--paper);padding:48px 4%;border:0;margin-top:55px;grid-template-columns:1fr 2fr;gap:5%}.reviews .mono,.review-quotes figcaption{color:#c6c5bd;font-size:12px}.reviews h2{font-size:34px}.reviews-heading>a{font-size:12px;line-height:1.8;display:inline-block;padding:10px 0;color:#fff;text-decoration-thickness:1px}.reviews-heading>a:hover{color:#ff4a54}.review-quotes blockquote{font-size:24px;line-height:1.45}.review-quotes figure{border-top:1px solid #6b6b64;padding-top:22px}.policies{padding:55px 0}.policy-grid h3{font-size:12px}.mono{color:#575750}
@media(max-width:1100px){.grid{grid-template-rows:250px 220px 140px}.service h2{font-size:20px}.intro>.mono{font-size:10px}.artist-copy{padding:30px 7%}.personal-note{grid-template-columns:100px 1fr;gap:17px}.personal-note img{width:100px;height:145px}.personal-note p{font-size:14px}}
@media(max-width:800px){.grid{grid-template-rows:230px 205px 135px}.service{padding:20px}.service h2{font-size:18px}.artist-layout{grid-template-columns:1fr 1fr}.artist-copy h2{font-size:40px}.personal-note{display:block}.personal-note img{float:left;margin:0 17px 10px 0;width:95px;height:127px}.personal-note::after{content:'';display:block;clear:both}.review-quotes blockquote{font-size:20px}}
@media(max-width:600px){.grid{grid-template-rows:auto}.intro{min-height:215px}.intro>.mono{font-size:10px;letter-spacing:.2px}.intro .by{font-size:12px}.detail{height:205px}.service{padding:20px 23px;grid-template-columns:.65fr 1.35fr}.service h2{font-size:18px}.service .mono{font-size:11px}.work{padding:45px 0}.work-heading h2{font-size:clamp(36px,10.3vw,60px);letter-spacing:-1.8px}.work-collage{aspect-ratio:.65;margin:24px 3px 0}.work-campaign{width:65%;height:63%;top:0;left:0}.work-smile{width:43%;height:42%;top:12%;right:0}.work-bandana{width:48%;height:39%;left:3%;top:61%}.work-fan{width:47%;height:43%;top:52%;right:0}.artist-layout{display:block}.artist-copy{padding:28px 23px}.artist-copy h2{font-size:46px}.personal-note{display:flow-root;margin:23px 0}.personal-note img{width:105px;height:140px;margin:0 18px 10px 0}.personal-note p{font-size:15px;line-height:1.75}.reviews{padding:32px 23px;margin-top:40px}.reviews-heading{margin-bottom:22px}.reviews h2{font-size:31px;margin-bottom:10px}.review-quotes blockquote{font-size:22px}.review-quotes figure{border-color:#6b6b64}.review-quotes figcaption{font-size:11px}.policies{padding:42px 3px}.policy-grid h3{font-size:11px}}
.work-campaign img{object-position:50% 82%}
@media(max-width:600px){.work-campaign img{object-position:50% 72%}}
/* Targeted adjustments: service palette, eye scale, unobscured work */
.service{background:var(--panel);color:var(--ink)}.service .mono{color:#575750}.grid{background:var(--line);border-color:var(--line)}
.detail{background:var(--paper)}.detail img{width:86%;height:100%;object-fit:cover;object-position:50% 47%}.detail .mono{left:auto;right:4%;bottom:22px;writing-mode:vertical-rl;background:none;color:var(--ink);padding:0;letter-spacing:1px}
.work-smile{top:6%;height:49%;width:42%}.work-fan{top:57%;height:41%}.work-smile img{object-position:40% 65%}
@media(max-width:600px){.detail img{width:86%}.detail .mono{right:4%;bottom:17px;font-size:9px}.work-smile{top:7%;height:45%;width:43%}.work-fan{top:54%;height:43%}.work-smile img{object-position:40% 60%}}
/* Restore the approved uninterrupted eye panel. */
.detail img{width:100%}.detail .mono{left:22px;right:auto;bottom:15px;writing-mode:horizontal-tb;background:#222;color:#eee;padding:5px 9px;font-size:10px;letter-spacing:1px}

.arrow-icon{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex-shrink:0;overflow:visible}.arrow-icon path{stroke:currentColor;stroke-width:1.4;stroke-linecap:square;stroke-linejoin:miter}.book .arrow-icon{width:25px;height:25px}.final-book .arrow-icon{width:1.05em;height:1.05em}.motion-photo{transition:transform .65s cubic-bezier(.2,.65,.3,1);transform-origin:center}.motion-photo.is-touched{transform:scale(1.025)}.artist-photo,.personal-note{overflow:hidden}
@media(hover:hover) and (pointer:fine){.motion-photo:hover{transform:scale(1.025)}}
@media(prefers-reduced-motion:reduce){.motion-photo,.motion-photo:hover,.motion-photo.is-touched{transform:none!important;transition:none!important}}
