:root{color-scheme:dark;--ink:#141515;--paper:#eeefed;--muted:#a4a9a6;--line:#414644;--serif:'Cormorant Garamond',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font:400 1rem/1.7 'DM Sans',Arial,sans-serif}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a,input,textarea{outline-offset:5px}::selection{background:#ccd3ce;color:#111}img{max-width:100%;display:block}.header{min-height:95px;padding:20px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px;position:absolute;z-index:10;inset:0 0 auto;color:#eff1ee;border-bottom:1px solid #ffffff20}.wordmark{font:500 1.35rem/1.1 var(--serif);letter-spacing:.09em;white-space:nowrap}.wordmark small{display:block;margin-top:8px;font:400 .75rem/1.2 'DM Sans',sans-serif;letter-spacing:.25em}.header nav{display:flex;gap:30px;align-items:center;font-size:.875rem}.header nav a:hover,.text-link:hover,.instagram-link:hover,footer a:hover{text-decoration:underline;text-underline-offset:6px}.nav-contact{border-bottom:1px solid #d8ddd8;padding:10px 0}.langs{display:flex;align-items:center;gap:7px;color:#aaa;font-size:.875rem;white-space:nowrap}.langs button{border:0;background:none;color:inherit;cursor:pointer;padding:7px 2px;font-size:.875rem}.langs button.active{color:#fff}.hero{min-height:790px;height:95svh;max-height:1100px;position:relative;display:flex;align-items:center;overflow:hidden;background:#101110}.hero-media{position:absolute;inset:0 0 0 42%;background-size:cover;background-position:center 28%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#101110 0%,#101110 32%,#10111080 52%,transparent 75%),linear-gradient(0deg,#101110b0,transparent 20%)}.hero-content{position:relative;z-index:1;width:50%;max-width:760px;margin:70px 0 50px 7%}.eyebrow,.section-number{font-size:.75rem;font-weight:500;letter-spacing:.18em}.eyebrow{color:#b8c0b9}.hero h1{font:400 clamp(4rem,7.4vw,8.5rem)/.91 var(--serif);letter-spacing:-.035em;margin:30px 0 24px}.hero h1 em{font-weight:400}.signature{font:400 clamp(1.05rem,1.65vw,1.45rem)/1.4 var(--serif);letter-spacing:.04em;margin:26px 0}.signature span{padding:0 9px;color:#9ba99e}.hero-description{font-size:1rem;color:#ced2ce;max-width:440px;margin:25px 0 34px}.button{display:inline-flex;justify-content:space-between;gap:32px;align-items:center;padding:16px 23px;min-height:54px;font-weight:500;font-size:.875rem;letter-spacing:.02em;border:1px solid #b9c3bb;cursor:pointer;transition:background .2s}.button span{font-size:1.1rem;line-height:1}.button.light{background:#e9ede8;color:#17201b}.button.light:hover,.button.dark:hover{background:#cdd7ce}.button.dark{background:#e9ede8;color:#17201b;width:100%}.hero-foot{position:absolute;bottom:30px;left:7%;right:7%;display:flex;justify-content:space-between;font-size:.75rem;letter-spacing:.12em;color:#b7c0b9}.section{padding:clamp(75px,8vw,130px) 7%}.section-number{color:#9ca89f;margin:0 0 25px}.section h2{font:400 clamp(2.8rem,5.2vw,5.4rem)/1.02 var(--serif);letter-spacing:-.025em;margin:0}.intro{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:var(--paper);color:#202924}.intro .section-number,.sessions .section-number{color:#637167}.intro-copy{max-width:570px;font-size:1rem}.intro-copy p+p{color:#58635c}.artist-photo{width:100%;height:450px;object-fit:cover;object-position:center 30%;margin:0 0 35px}.text-link{display:inline-block;font-size:.875rem;margin-top:20px;padding-bottom:7px;border-bottom:1px solid #647267}.portfolio{background:#141716}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:45px}.section-head>div{max-width:750px}.section-head>p{max-width:220px;color:#a4b0a7;font-size:.875rem}.gallery{columns:3;column-gap:20px}.gallery img{width:100%;height:auto;display:block}.gallery figure{break-inside:avoid;margin:0 0 20px;background:#101210}.instagram-link{display:inline-block;margin-top:30px;border-bottom:1px solid #a9b5ac;padding-bottom:6px;font-size:.875rem}.process{background:#1d2420}.process h2{max-width:850px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6%;margin-top:65px}.process-grid>div{border-top:1px solid #59675d;padding-top:20px}.step{font:400 1.4rem var(--serif);color:#a5b3a8}.process h3{font:400 2.1rem var(--serif);margin:26px 0 17px}.process-grid p{color:#bdc7c0;margin:0;max-width:370px}.sessions{background:var(--paper);color:#202924;display:grid;grid-template-columns:1fr 1fr;gap:10%}.sessions-intro{max-width:500px;color:#58635c;margin:28px 0 0;font-size:1rem}.session-list{padding-top:18px}.session-item{display:flex;justify-content:space-between;gap:24px;padding:23px 0;border-bottom:1px solid #b4bdb6;font-size:1rem}.session-item:first-child{border-top:1px solid #b4bdb6}.session-item strong{font-weight:400}.session-item span{color:#5a695e;text-align:right}.contact{background:#151a17;display:grid;grid-template-columns:.9fr 1.1fr;gap:10%}.contact h2{font-size:clamp(4rem,7vw,7rem)}.contact-copy>p:not(.section-number){max-width:490px;font-size:1rem;color:#c1cac3}.contact-copy .contact-note{font-size:.875rem!important;color:#9eaca2!important}.contact-alt{display:flex;flex-direction:column;margin-top:45px;font-size:.875rem;gap:6px}.contact-alt span{color:#a6b3a9}.contact-alt a{text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}form{display:flex;flex-direction:column;gap:23px;padding-top:8px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}form label:not(.consent){display:flex;flex-direction:column;gap:8px;font-size:.875rem;color:#cfd7d1}form input:not([type=file],[type=checkbox]),form textarea{width:100%;padding:12px 5px;background:transparent;border:0;border-bottom:1px solid #7c8980;color:#f1f4f1;border-radius:0;min-height:50px}form textarea{resize:vertical;min-height:125px}form input:focus,form textarea:focus{border-color:#edf4ed}form input[type=file]{padding:16px;border:1px dashed #7c8980;background:#202923;max-width:100%;font-size:.875rem}form small,.fineprint{color:#a4b2a8;font-weight:400;font-size:.8rem;line-height:1.6}.consent{display:flex;align-items:flex-start;gap:10px;color:#bbc7bf;font-size:.875rem;line-height:1.5}.consent input{margin-top:5px;accent-color:#dbe8de}.form-error{margin:0;color:#ffc1b8}.fineprint{margin:-8px 0 0}.trap{position:absolute;left:-9999px}footer{background:#101411;border-top:1px solid #3d4b41;padding:45px 7%;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px;color:#a7b4aa;font-size:.75rem;letter-spacing:.09em}footer .footer-brand{font:500 1.35rem var(--serif);color:#e3ece5;letter-spacing:.04em}footer div{display:flex;gap:20px}footer small{font-size:.75rem}
@media(max-width:1000px){.header nav>a:not(.nav-contact){display:none}.hero h1{font-size:clamp(4rem,8.5vw,7rem)}.intro,.sessions,.contact{grid-template-columns:1fr;gap:40px}.intro-copy{max-width:100%;display:grid;grid-template-columns:1fr 1fr;gap:0 35px}.artist-photo{grid-row:span 3;height:430px;margin:0}.intro-copy p:first-of-type{margin-top:0}.intro-copy .text-link{justify-self:start;align-self:start}.session-list{padding:0}.contact-alt{margin-top:28px}}
@media(max-width:650px){.header{min-height:80px;padding:18px 20px;gap:12px}.wordmark{font-size:1rem;letter-spacing:.07em}.wordmark small{font-size:.66rem;letter-spacing:.17em}.header nav{display:none}.langs{gap:4px;font-size:.8rem}.langs button{font-size:.8rem}.hero{min-height:850px;height:100svh;align-items:flex-end}.hero-media{inset:0 0 28%;background-position:center 32%;background-size:cover}.hero-shade{background:linear-gradient(0deg,#101110 0%,#101110 15%,#101110ef 28%,#10111033 62%,transparent 82%)}.hero-content{width:auto;max-width:none;margin:0 23px 87px}.eyebrow{font-size:.7rem;letter-spacing:.1em}.hero h1{font-size:clamp(4.3rem,16vw,6.1rem);margin:20px 0 16px}.signature{margin:15px 0;font-size:1.15rem}.hero-description{font-size:.94rem;margin:18px 0 25px;max-width:360px}.hero-foot{left:23px;right:23px;bottom:23px;font-size:.65rem;gap:14px}.hero-foot>span:first-child{display:none}.section{padding:74px 23px}.section h2{font-size:clamp(2.9rem,11vw,4rem)}.intro-copy{display:block}.artist-photo{height:430px;margin-bottom:30px}.section-head{display:block;margin-bottom:30px}.section-head>p{max-width:300px}.gallery{columns:2;column-gap:10px}.gallery figure{margin-bottom:10px}.process-grid{display:block;margin-top:45px}.process-grid>div+div{margin-top:34px}.process h3{margin:18px 0 12px}.form-row{grid-template-columns:1fr;gap:23px}.session-item{font-size:.94rem;gap:18px}.session-item strong{max-width:55%}footer{padding:38px 23px;display:flex;flex-direction:column;align-items:flex-start;gap:17px}footer div{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Focused consultation journey. */
.hero{background:#101110}.hero-media{inset:0;background-repeat:no-repeat;background-size:auto 100%;background-position:right center;filter:brightness(1.12) contrast(1.025)}.hero-shade{background:linear-gradient(90deg,#101110 0%,#101110 32%,#101110b8 49%,#10111018 70%),linear-gradient(0deg,#101110a6,transparent 28%)}.hero-content{width:48%}.hero h1{font-size:clamp(4.3rem,8vw,8.6rem)}.cta-note{font-size:.8rem!important;line-height:1.5;color:#b1beb5;margin:15px 0 0}.section-cta{margin-top:35px}.more-work{margin-top:25px}.more-work summary{cursor:pointer;display:list-item;list-style:disclosure-closed;font-size:.875rem;color:#c8d2cc;width:fit-content;padding:12px 0;border-bottom:1px solid #6c7c70}.more-work[open] summary{list-style:disclosure-open;margin-bottom:25px}.form-intro{font-size:.875rem;color:#c3cdc6;margin:0}form select{width:100%;padding:12px 5px;background:#151a17;color:#eaf0ec;border:0;border-bottom:1px solid #7c8980;border-radius:0;min-height:50px;font:inherit}form select:focus{outline-offset:5px}.section-number{margin-bottom:19px}.portfolio{padding-bottom:85px}.gallery img{aspect-ratio:3/4;object-fit:cover;object-position:center}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;columns:auto}.gallery figure{margin:0}.more-work .gallery{display:block;columns:3;column-gap:20px}.more-work .gallery figure{margin-bottom:20px}.more-work .gallery img{aspect-ratio:auto}.intro-copy{font-size:1rem}.contact h2{font-size:clamp(3.3rem,5.3vw,5.5rem)}footer div{font-size:.75rem}
@media(max-width:650px){.hero{min-height:920px}.hero-media{inset:0 0 23%;background-size:cover;background-position:center bottom}.hero-shade{background:linear-gradient(0deg,#101110 0%,#101110 16%,#101110f0 29%,#10111055 53%,transparent 72%)}.hero-content{width:auto;margin:0 23px 80px}.hero h1{font-size:clamp(4.4rem,17vw,6rem)}.hero-description{max-width:390px}.hero .button{font-size:.85rem;gap:18px}.cta-note{font-size:.75rem!important}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.more-work .gallery{columns:2;column-gap:10px}.more-work .gallery figure{margin-bottom:10px}.contact h2{font-size:3.4rem}}

/* Classical uppercase titles, scaled for comfortable wrapping. */
h1,h2,h3,h4,h5,h6{font-family:var(--serif);text-transform:uppercase;font-weight:500;letter-spacing:.025em;overflow-wrap:break-word}
.hero h1{font-size:clamp(3.2rem,6.2vw,7rem);line-height:1.02;letter-spacing:.025em}.hero h1 em{font-style:normal}
.signature{text-transform:uppercase;letter-spacing:.18em}.hero-description{font-family:var(--serif);font-size:clamp(1.3rem,2vw,1.8rem);letter-spacing:.12em;line-height:1.4}
.section h2{font-size:clamp(2.3rem,4.5vw,4.8rem);line-height:1.1}.process h3{font-size:1.8rem;line-height:1.2}
@media(max-width:1000px) and (min-width:651px){.artist-photo{grid-row:span 4}}
@media(max-width:650px){.hero h1{font-size:clamp(2.7rem,11.2vw,4.5rem)}.section h2{font-size:clamp(2rem,8.4vw,3.3rem)}.hero-description{font-size:1.25rem;letter-spacing:.09em}.signature{font-size:1rem}}

/* Supplied cover artwork and full-length portfolio photographs. */
.hero{height:auto;min-height:0;display:flex;flex-direction:column;align-items:center;padding:110px 20px 45px;background:#050505}
.hero-cover{position:relative;width:auto;max-width:100%;height:auto;max-height:78svh;object-fit:contain}
.hero-shade,.hero-foot{display:none}.hero-content{position:relative;width:auto;max-width:100%;margin:25px 0 0;text-align:center}
.hero-content h1,.hero-content .signature,.hero-content .hero-description,.hero-content .eyebrow{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.gallery{align-items:start}.gallery img{aspect-ratio:auto;height:auto;object-fit:contain}.gallery figure{background:transparent}
@media(max-width:650px){.hero{min-height:0;height:auto;padding:95px 0 35px}.hero-cover{width:100%;height:auto;max-height:none}.hero-content{margin:24px 20px 0}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}

/* Black photographic direction. */
:root{--ink:#090909;--paper:#efefed;--muted:#b1b1ae;--line:#3b3b3a}
body,.portfolio{background:#090909}.header{background:linear-gradient(#0808089c,transparent)}
.hero{position:relative;isolation:isolate;display:flex;align-items:flex-start;justify-content:center;min-height:850px;height:100svh;max-height:1100px;padding:130px 7% 70px;overflow:hidden;background:#050505}
.hero-cover{position:absolute;inset:0 0 0 auto;width:70%;height:100%;max-height:none;max-width:none;object-fit:cover;object-position:center 42%;z-index:-2}
.hero-shade{display:block;position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#050505 0%,#050505e0 22%,#05050555 58%,#0505050a 100%),linear-gradient(0deg,#050505c9,transparent 35%)}
.hero-content{width:65%;max-width:850px;margin:0;text-align:left}
.hero-content h1,.hero-content .signature,.hero-content .hero-description{position:static;width:auto;height:auto;padding:0;overflow:visible;clip-path:none;white-space:normal}
.hero-content h1{font-size:clamp(3.4rem,6.5vw,7rem);margin:0 0 22px;line-height:1.02}.hero-content .signature{font:500 1.4rem var(--serif);letter-spacing:.18em;margin:0 0 12px}.hero-content .hero-description{font:400 1rem 'DM Sans',sans-serif;letter-spacing:.22em;margin:0 0 38px}
.intro{background:#101010;color:#eee;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:35px 7%;align-items:start}
.intro-heading{grid-column:2;grid-row:1}.intro-heading h2{font-size:clamp(2.2rem,3.7vw,4rem)}
.intro .artist-photo{grid-column:1;grid-row:1 / span 2;display:block;height:auto;width:100%;margin:0;object-fit:contain}
.intro-copy{grid-column:2;grid-row:2;display:block;max-width:none}.intro-copy p:first-of-type{margin-top:0}.intro-copy p,.intro-copy p+p{color:#bfbfbc}.intro .section-number,.sessions .section-number{color:#aaa9a5}.text-link{border-color:#777;color:#e9e9e6}
.process{background:#0b0b0b}.process-grid>div{border-color:#444}.step,.process-grid p{color:#bfbfbc}
.sessions{position:relative;isolation:isolate;background:#080808;color:#eee;overflow:hidden}
.sessions:before{content:'';position:absolute;inset:0;z-index:-2;background:url('./images/signature-process.webp') center 55%/cover no-repeat;opacity:.23}
.sessions:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#080808ad,#08080870)}
.sessions-intro,.session-item span{color:#cccac6}.session-item,.session-item:first-child{border-color:#ffffff35}
.contact,footer{background:#0b0b0b}form select{background:#151515}form input[type=file]{background:#171717}footer{border-color:#333}
#gallery{align-items:start}#gallery figure{aspect-ratio:9/16;width:100%;overflow:hidden;background:#050505}#gallery img{width:100%;height:100%;object-fit:contain;aspect-ratio:auto}#gallery figure:nth-child(4) img{object-fit:cover;object-position:48% center}
@media(max-width:1000px){.intro{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px 5%}}
@media(max-width:650px){.hero{min-height:800px;height:100svh;max-height:1050px;padding:100px 23px 65px;justify-content:flex-end}.hero-cover{width:100%;object-position:55% 32%}.hero-shade{background:linear-gradient(0deg,#050505 0%,#050505df 20%,#05050515 62%,#05050544)}.hero-content{width:100%;margin:0}.hero-content h1{font-size:clamp(3rem,12vw,4.6rem)}.hero-content .signature{font-size:1.15rem}.hero-content .hero-description{font-size:.85rem;margin-bottom:26px}.intro{display:flex;flex-direction:column;gap:28px}.intro-heading{order:0}.intro .artist-photo{order:1;max-height:none;width:100%;height:auto}.intro-copy{order:2}.intro-heading h2{font-size:clamp(2rem,8.4vw,3.3rem)}.sessions:before{background-position:36% center}.sessions:after{background:#08080870}}

.artistic-approach{max-width:960px;color:#c6c6c2;font-size:1.0625rem;line-height:1.85;margin:30px 0 0}
#gallery figure:first-child img{object-fit:cover;object-position:51% center}
#gallery figure:nth-child(7){grid-column:1}
#galleryMore figure:last-child{column-span:all;max-width:100%;margin-top:20px}
/* Restrained, compact calls to action and discreet social marks. */
.button.light,.button.dark{width:fit-content;max-width:100%;min-height:52px;justify-content:center;padding:16px 27px;background:#181a18;color:#eee6dc;border:1px solid #9e8e78;border-radius:2px;font-size:.76rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase;line-height:1.5;text-align:center;box-shadow:none}
.button.light:hover,.button.dark:hover{background:#2a2b26;border-color:#d1b995;color:#fff7ed}
.button:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #d1b995;outline-offset:5px}
.button:active{transform:translateY(1px)}
.social-links{display:flex;align-items:center;flex-wrap:wrap;gap:22px}
.social-links a{display:inline-flex;align-items:center;gap:8px;font-size:.65rem;letter-spacing:.1em;color:#b9b6b0}
.social-links a:hover{color:#eee6dc}
.social-links svg{width:17px;height:17px;flex-shrink:0;fill:currentColor}
.social-links a[href^="mailto"] svg{fill:none}
@media(max-width:600px){.button.light,.button.dark{padding:15px 21px;font-size:.7rem}.social-links{gap:18px}}
/* A tighter editorial frame leaves the bottom platform mark outside the image. */
.artist-frame{grid-column:1;grid-row:1 / span 2;aspect-ratio:1080/1780;overflow:hidden;width:100%;background:#080808}
.intro .artist-frame .artist-photo{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center top}
@media(max-width:650px){.artist-frame{order:1;flex:none}.intro .artist-frame .artist-photo{height:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
.artist-frame{aspect-ratio:709/1430}
.intro .artist-frame .artist-photo{object-position:center top}
.skip-link{position:absolute;left:20px;top:-100px;z-index:100;background:#111;color:#fff;padding:12px 18px}.skip-link:focus{top:20px}
.button.light,.button.dark{font-size:.875rem;letter-spacing:.08em}
.social-links a{font-size:.75rem;min-height:44px}
.langs button{min-width:32px;min-height:44px}
form input,form textarea,form select{font-size:1rem!important}
@media(max-width:650px){.button.light,.button.dark{font-size:.8rem}.artist-frame{max-width:520px}.hero{min-height:760px}.session-item{flex-wrap:wrap;gap:8px 18px}}
.delivery-page{max-width:760px;margin:auto;padding:12vh 24px;min-height:100svh}.delivery-page h1{font:400 clamp(2rem,5vw,4rem)/1.1 var(--serif)}.delivery-page p{color:#c6c3bd}.delivery-page form{margin:24px 0}.delivery-page [hidden]{display:none!important}
.contact{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.contact-copy,form,form label,.form-row,.form-row>*{min-width:0;max-width:100%}
form input[type=file]{width:100%;min-width:0;max-width:100%;font-size:.875rem!important;overflow:hidden}
@media(max-width:1000px){.contact{grid-template-columns:minmax(0,1fr)}}
@media(max-width:360px){.header{padding-inline:16px;gap:6px}.wordmark{font-size:.88rem}.langs{gap:2px}.langs button{min-width:28px}.section h2{font-size:2.6rem}}
