:root{color-scheme:dark;--bg:#111;--panel:#1b1b1b;--ink:#f1f0ed;--muted:#a6a6a6;--line:#353535}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.7 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid white;outline-offset:7px}a:hover{color:#bbb}.skip{position:absolute;left:15px;top:-80px;background:white;color:black;padding:12px;z-index:9}.skip:focus{top:10px}header{max-width:1600px;margin:auto;padding:30px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:25px}.brand{display:flex;align-items:center;gap:15px;font-family:Georgia,serif;font-size:21px;letter-spacing:3px;line-height:1.4}.brand small{display:block;font:10px/2 Arial,sans-serif;letter-spacing:2px}.seal{display:grid;place-items:center;border:1px solid #757575;border-radius:50%;width:52px;height:52px;font:22px Georgia,serif;letter-spacing:-3px;padding-right:3px}nav{display:flex;align-items:center;gap:36px;font-size:14px}nav a[aria-current=page]{color:white}nav a:not(.nav-book)[aria-current=page]{border-bottom:1px solid #ddd}.nav-book{padding:11px 22px;border:1px solid #747474}.nav-book span{margin-left:22px}.hero{max-width:1600px;margin:auto;display:grid;grid-template-columns:1fr 1fr;min-height:700px}.hero-copy{padding:72px 10% 40px}.eyebrow{font-size:12px;letter-spacing:2.4px;color:#bcbcbc;margin:0 0 24px;font-weight:500}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.04;letter-spacing:-2px;margin:0}h1{font-size:clamp(60px,6.8vw,108px)}em{font-weight:400;color:#b3b3b3}h2{font-size:clamp(38px,4vw,62px)}h3{font-size:30px;letter-spacing:-.7px}.intro{color:#aaa;font-size:17px;line-height:1.8;margin:30px 0}.button{background:#e7e6e3;color:#161616;display:inline-flex;justify-content:space-between;gap:38px;padding:16px 24px;font-size:14px;font-weight:600;border:1px solid #e7e6e3;transition:background .2s}.button:hover{background:white;color:black}.hero-note{display:flex;align-items:center;gap:12px;margin-top:52px;color:#999;font-size:10px;letter-spacing:1.3px}.tiny-line{width:24px;height:1px;background:#777}.hero-art{position:relative;min-height:660px;background:#202020;overflow:hidden;display:grid;place-items:center}.hero-art img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0009,transparent 40%);pointer-events:none}.letter-art{font:italic 440px Georgia,serif;color:#484848}.art-caption{position:absolute;bottom:27px;left:30px;right:30px;display:flex;justify-content:space-between;z-index:1;font-size:11px;letter-spacing:3px}.section{padding:85px 5%;max-width:1600px;margin:auto}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:42px}.section-heading p:last-child{color:#aaa;font-size:14px;margin-bottom:0}.portfolio{border-top:1px solid var(--line)}.portfolio-empty{padding:55px;border:1px solid var(--line);background:#171717}.portfolio-empty p{color:#aaa}.text-link{display:inline-block;border-bottom:1px solid #777;padding-bottom:5px;margin-top:18px;font-size:15px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.gallery figure{margin:0}.gallery a{display:block}.gallery img{width:100%;height:440px;object-fit:cover;background:#222;transition:filter .2s}.gallery a:hover img{filter:brightness(1.13)}.gallery figcaption{padding:15px 0;color:#aaa;font-size:13px;letter-spacing:1px}.closing{text-align:center;padding:80px 20px 100px;background:#191919;border-top:1px solid var(--line)}.closing h2{margin-bottom:35px;font-size:clamp(42px,5vw,72px)}footer{padding:35px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:12px;color:#aaa}.footer-brand{font:22px Georgia,serif;color:#ddd}.page-top{max-width:1600px;margin:auto;padding:80px 5% 60px;border-bottom:1px solid var(--line)}.page-top h1{font-size:clamp(56px,6.8vw,100px)}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:9%}.about-mark{background:#1c1c1c;border:1px solid #333;min-height:530px;padding:50px 30px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center}.signature{font:italic 80px/1.1 Georgia,serif;letter-spacing:-4px}.about-mark .eyebrow{font-size:11px;margin:0}.prose h2{margin-bottom:30px}.prose p:not(.eyebrow){color:#aaa;max-width:590px}.studio-strip{padding:40px 5%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:30px;background:#181818}.studio-strip>span{font-size:12px;letter-spacing:2px}.studio-strip p{color:#aaa;font-size:14px}.studio-strip strong{font-weight:400;color:#ddd}.studio-strip a{font-size:14px}.booking-layout{display:grid;grid-template-columns:1fr 1fr;gap:12%}.booking-intro{max-width:410px;color:#aaa;margin:25px 0}.fine{font-size:13px;color:#969696;margin-top:18px}.steps article{display:flex;gap:25px;padding:27px 0;border-bottom:1px solid var(--line)}.steps article:first-child{padding-top:0}.steps article>span{font:italic 22px Georgia,serif;color:#8b8b8b}.steps h3{font-size:28px}.steps p{color:#aaa;margin-bottom:0}
@media(min-width:1600px){body{max-width:1800px;margin:auto}}@media(max-width:850px){header{padding:24px 5%;flex-wrap:wrap}.brand{font-size:18px}nav{gap:24px}.hero{min-height:0}.hero-copy{padding:55px 10% 35px}h1{font-size:64px}.hero-art{min-height:590px}.hero-note{margin-top:35px}.gallery img{height:330px}.about-layout{gap:5%}.signature{font-size:66px}.booking-layout{gap:7%}}@media(max-width:600px){header{gap:20px}.brand small{font-size:10px}.seal{width:43px;height:43px}nav{width:100%;justify-content:space-between;gap:15px}.nav-book{padding:8px 15px}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 6%}.hero h1{font-size:76px}.hero-note{font-size:10px;letter-spacing:1px}.hero-art{min-height:470px}.section{padding:55px 6%}.section-heading{display:block}.section-heading p:last-child{margin-top:22px}.gallery{grid-template-columns:1fr;gap:25px}.gallery img{height:auto;max-height:600px;object-fit:cover}.portfolio-empty{padding:32px 24px}.closing{padding:65px 6%}.page-top{padding:50px 6%}.page-top h1{font-size:54px}.about-layout,.booking-layout{grid-template-columns:1fr;gap:45px}.about-mark{min-height:390px}.signature{font-size:75px}.studio-strip{flex-direction:column;align-items:flex-start;gap:8px;padding:30px 6%}.studio-strip p{margin:5px 0}footer{flex-direction:column;align-items:flex-start;gap:14px}.button{gap:22px;max-width:100%}.letter-art{font-size:340px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.artist-photo{display:block;width:100%;height:auto;max-width:420px;max-height:600px;margin:30px 0;object-fit:cover;filter:grayscale(1)}.about-mark{padding:35px}.hero-art img{object-position:center;filter:grayscale(1)}

/* Full photographs, with original color and watermarks. */
.hero-art{background:#000}.hero-art img{object-fit:contain;filter:none}.hero-art:after{display:none}.art-caption{background:#111c;padding:8px;font-size:12px;letter-spacing:1.5px}.gallery img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:1;object-fit:contain}.gallery a:hover img{filter:none}.gallery a{background:#000}.gallery figcaption{font-size:14px}.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:850px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.gallery{grid-template-columns:1fr}.hero-art{min-height:0;aspect-ratio:1}.art-caption{bottom:10px;left:10px;right:10px}}

/* Swipeable single-photo portfolio. */
.portfolio-carousel{max-width:800px;margin:0 auto}.gallery{display:flex;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#666 #222}.gallery figure{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always}.gallery img{height:min(65vh,680px);width:100%;aspect-ratio:auto;object-fit:contain}.gallery figcaption{text-align:center;padding:16px;background:#111}.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}.gallery-controls button{font:14px Arial,sans-serif;background:transparent;color:#eee;border:1px solid #666;min-height:44px;padding:12px 20px;cursor:pointer}.gallery-controls button:hover{background:#292929}.gallery-controls button:disabled{opacity:.35;cursor:default}.gallery-controls span{font-size:14px;color:#aaa;font-variant-numeric:tabular-nums}.gallery:focus-visible{outline:2px solid #ddd;outline-offset:5px}@media(max-width:600px){.gallery img{height:auto;aspect-ratio:1}.gallery-controls button{padding:12px 15px}}@media(prefers-reduced-motion:reduce){.gallery{scroll-behavior:auto}}

.studio-tour{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9%;align-items:center}.studio-video{background:#080808;text-align:center;line-height:0}.studio-video video{display:block;width:100%;height:auto;max-height:80vh;object-fit:contain}.studio-copy h2{margin-bottom:28px}.studio-copy>p:not(.eyebrow){color:#aaa;max-width:490px}.studio-location{border-top:1px solid var(--line);margin:30px 0;padding-top:24px}.studio-location .eyebrow{margin-bottom:10px}.studio-location p:last-child{font-size:14px;color:#bbb}@media(max-width:700px){.studio-tour{grid-template-columns:1fr;gap:40px}.studio-video{max-width:440px;width:100%;margin:auto}}@media(max-width:600px){nav{gap:10px;font-size:13px}.nav-book{padding:8px 10px}.nav-book span{margin-left:6px}}

.studio-slideshow-section{border-top:1px solid var(--line)}.studio-slideshow{max-width:1000px;margin:auto}.studio-slide{margin:0}.studio-slide[hidden]{display:none}.studio-slide a{display:block;background:#080808}.studio-slide img{display:block;width:100%;height:min(75vh,750px);object-fit:contain}.studio-slide figcaption{text-align:center;color:#aaa;font-size:14px;padding:16px}.studio-slide-controls{flex-wrap:wrap}.studio-slide-controls button{min-height:44px}@media(max-width:600px){.studio-slide img{height:65vh;height:65svh}.studio-slide-controls{display:grid;grid-template-columns:1fr 1fr}.studio-slide-controls span{text-align:right}.studio-slide-controls button{font-size:13px}}

/* Preserve the opening artist photograph on smaller screens. */
@media(max-width:600px){.hero-art{aspect-ratio:1179/1769}}

/* Keep the opening artist photograph aligned with the monochrome site palette. */
.hero-art img{filter:grayscale(1)}

/* Event flyer and readable event details. */
.event-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:6%}.event-flyer{display:block}.event-flyer img{display:block;width:100%;height:auto}.event-details h2{font-size:clamp(38px,4vw,62px)}.event-details p,.event-details li{color:#aaa}.event-details .event-price{font:48px Georgia,serif;color:#f1f0ed;margin:30px 0}.event-price span{font:16px Arial,sans-serif;color:#aaa}.event-details ul{padding-left:21px;line-height:1.9}.event-prize{border-top:1px solid var(--line);padding-top:26px;margin-top:28px}.event-prize h3{font-size:28px}.event-prize p{margin-bottom:0}@media(max-width:850px){header nav{flex-wrap:wrap}.event-layout{grid-template-columns:1fr;gap:36px}.event-details{max-width:650px}}@media(max-width:600px){header nav{gap:14px;justify-content:flex-start}header nav .nav-book{margin-left:auto;padding:8px 12px}header nav .nav-book span{margin-left:8px}}

/* Email booking inquiry form. */
.booking-top{padding-top:48px;padding-bottom:36px}.booking-form{display:flex;flex-direction:column;gap:12px}.booking-form label{font-size:16px;color:var(--ink)}.booking-form input:not([type=hidden]),.booking-form textarea{width:100%;min-width:0;background:#1b1b1b;color:var(--ink);border:1px solid #666;padding:14px;font:16px/1.5 Arial,sans-serif;border-radius:0}.booking-form input{margin-bottom:10px}.booking-form textarea{resize:vertical;min-height:180px}.booking-form input:focus-visible,.booking-form textarea:focus-visible{outline:2px solid white;outline-offset:3px}.booking-form .field-hint{color:#aaa;font-size:14px;margin:0}.booking-form .button{margin-top:10px;cursor:pointer;font:600 16px Arial,sans-serif;min-height:52px;align-self:flex-start}.booking-form .fine{margin:0}.email-link{color:var(--ink);text-decoration:underline;overflow-wrap:anywhere}

/* Session pricing and appointment requirements. */
.booking-pricing{margin-bottom:42px}.booking-pricing h2{font-size:clamp(32px,3vw,44px);letter-spacing:-1px}.session-rates{margin:24px 0}.session-rates>div{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}.session-rates dt{font-size:16px}.session-rates dd{margin:0;font-size:22px;white-space:nowrap}.booking-pricing>p:not(.eyebrow){font-size:16px;color:#aaa}.booking-pricing h3{font-size:26px;margin-top:28px}.booking-pricing .booking-disclaimer{padding:20px 0;border-top:1px solid var(--line);margin-top:26px}

/* Fine art collection: full artwork and original white borders. */
header nav{flex-wrap:wrap;justify-content:flex-end;gap:24px}.prints-top{padding-top:52px;padding-bottom:40px}.prints-top h1{font-size:clamp(48px,6vw,88px)}.prints-top .intro{margin-bottom:16px}.prints-notice{color:#ddd;font-size:16px}.prints-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 28px;padding-top:48px}.print-card{margin:0;min-width:0}.print-card>a{display:block;background:white}.print-card img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:contain}.print-card figcaption{padding-top:18px}.print-card h2{font-size:25px;letter-spacing:-.5px}.print-card p{font-size:16px;color:#aaa;margin:8px 0 0}@media(max-width:1100px){header{flex-wrap:wrap}header nav{justify-content:flex-start}.prints-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){header nav{gap:14px}.prints-grid{grid-template-columns:1fr;gap:36px}.prints-top{padding-top:38px}.prints-top h1{font-size:48px}}

.print-card .print-price{color:var(--ink);font-size:22px}.print-price span{display:inline-block;margin-left:14px;font-size:14px;color:#aaa}

.print-card .print-buy{margin-top:18px;gap:16px}.print-card .print-availability{margin-top:18px;font-size:14px;color:#aaa}

/* Focused browsing and native expandable controls. */
.mobile-menu{display:none}.portfolio-more{text-align:center;padding:0 6% 55px}.portfolio-more .text-link{margin-top:0}.booking-policy{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:26px 0;padding:18px 0}.booking-policy summary{cursor:pointer;font-size:16px;line-height:1.5;color:var(--ink);padding:4px 0}.booking-policy summary:focus-visible,.mobile-menu summary:focus-visible{outline:2px solid white;outline-offset:4px}.booking-policy p{color:#aaa;font-size:16px}.booking-policy strong{color:#ddd}.print-card .print-number{font-size:13px;letter-spacing:1px;text-transform:uppercase;margin:0 0 10px}.print-card .print-story{font-size:16px;line-height:1.65;margin:14px 0 18px}.print-card .print-format{font-size:14px}.print-card figcaption h2{line-height:1.15}
@media(max-width:1100px){header{display:grid;grid-template-columns:minmax(0,1fr) auto;position:relative;align-items:center;gap:16px}header .desktop-nav{display:none}.mobile-menu{display:block}.mobile-menu summary{cursor:pointer;list-style:none;border:1px solid #777;padding:10px 14px;font:16px Arial,sans-serif;min-height:44px;display:flex;align-items:center}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary:after{content:'+';margin-left:12px}.mobile-menu[open] summary:after{content:'−'}.mobile-menu nav{position:absolute;z-index:20;top:100%;left:0;right:0;width:auto;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:12px 5% 22px;background:#111;border-bottom:1px solid #555;box-shadow:0 15px 25px #0007}.mobile-menu:not([open]) nav{display:none}.mobile-menu nav a{padding:13px 4px;border-bottom:1px solid #333;font-size:16px;min-height:48px}.mobile-menu nav .nav-book{margin:12px 0 0;padding:12px;text-align:center;border:1px solid #777;background:#e7e6e3;color:#111}.mobile-menu nav a[aria-current=page]{font-weight:bold}}

/* Client testimonials */
.testimonials{border-top:1px solid var(--line)}.testimonial-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px}.testimonial-card{grid-column:span 2;margin:0;padding:32px;background:#181818;border:1px solid var(--line);display:flex;flex-direction:column}.testimonial-card:nth-child(n+4){grid-column:span 3}.testimonial-stars{color:#c7b38a;letter-spacing:5px;font-size:16px}.testimonial-card blockquote{margin:20px 0 26px;font:20px/1.65 Georgia,serif;letter-spacing:0}.testimonial-card blockquote p{margin:0}.testimonial-card figcaption{margin-top:auto;color:var(--muted);font-size:13px;letter-spacing:1px}.testimonial-note{max-width:800px;color:var(--muted);font-size:13px;line-height:1.7;margin:28px 0 0}@media(max-width:900px){.testimonial-card,.testimonial-card:nth-child(n+4){grid-column:span 3}.testimonial-card:last-child{grid-column:span 6}}@media(max-width:600px){.testimonial-grid{grid-template-columns:1fr;gap:16px}.testimonial-card,.testimonial-card:nth-child(n+4),.testimonial-card:last-child{grid-column:auto;padding:26px}.testimonial-card blockquote{font-size:19px}}
