/* MJPhotography — a shared vision, in black and gold. */
:root{--paper:#0b0b0b;--ink:#f1ede4;--muted:#aaa59b;--line:#ffffff21;--gold:#ceb078;--dark:#121211}
html{scroll-padding-top:110px}body{background:var(--paper);color:var(--ink)}::selection{background:var(--gold);color:#0b0b0b}
.wrap{width:calc(100% - 112px);max-width:1440px}.section-space{padding-block:120px}.eyebrow{color:var(--gold);font-size:10px;letter-spacing:.2em}h1,h2{letter-spacing:-.035em}h1 em,h2 em,.footer-phrase em{color:var(--gold)}h2{font-size:clamp(52px,5.8vw,88px);line-height:1.05}p{line-height:1.8}.ui-icon{width:1em;height:1em}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
.site-header{height:100px;position:relative;z-index:20;border-bottom:1px solid var(--line);background:#0b0b0b}.brand-type{font-size:12px;letter-spacing:.15em}.brand-type small{color:var(--gold);font-size:8px}.monogram{width:54px;height:54px}nav{gap:32px}nav>a{font-size:11px;color:#d6d2c9;transition:color .25s}nav>a:hover{color:var(--gold)}.nav-cta{border:1px solid #ceb07888;padding:14px 18px;gap:25px;color:var(--gold)}.nav-cta:hover{background:#ceb07815}.menu-toggle{color:var(--ink)}
.hero{min-height:730px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px;padding-block:54px 70px;position:relative}.hero-copy{padding:0}.hero .eyebrow{font-size:9px}.hero h1{font-size:clamp(80px,8.5vw,132px);line-height:.94;margin:32px 0 28px;letter-spacing:-.045em}.hero-description{max-width:350px;color:var(--muted);font-size:14px;line-height:1.9}.hero .text-link{margin-top:32px}.text-link{color:var(--gold);font-size:12px;gap:22px}.round-arrow{border-color:#ceb07866;transition:background .25s,transform .3s}.text-link:hover .round-arrow{background:#ceb07820;transform:rotate(-10deg)}.hero-foot{margin-top:50px;padding-top:18px;border-top:1px solid var(--line);font-size:7px;color:var(--muted);letter-spacing:.12em;gap:12px}.hero-image{height:auto;aspect-ratio:4/5;position:relative;max-height:720px;overflow:hidden;background:#191817}.hero-image>img{width:100%;height:100%;object-fit:cover;object-position:50% 35%;filter:none}.hero-image:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0009);pointer-events:none}.hero-image figcaption{position:absolute;bottom:26px;left:26px;right:26px;z-index:1;color:#fff;font-size:8px;letter-spacing:.12em}.image-corner{color:#fff9;font-size:8px}.hero-stamp{display:none}.discipline-bar{background:#111110;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;color:var(--gold)}.discipline-bar .wrap{font-size:9px;letter-spacing:.25em;justify-content:space-between}.discipline-bar i{font-size:14px;color:#796548}
.section-top{align-items:center}.small-note{color:var(--muted);font-size:11px;line-height:1.7}.section-heading{align-items:flex-end;margin:38px 0 60px;gap:40px}.section-heading>p{font-size:14px;color:var(--muted);max-width:340px;line-height:1.9}.gallery-toolbar{border-block:1px solid var(--line);margin-bottom:42px;padding:16px 0;display:flex;align-items:center;justify-content:space-between;gap:16px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters button{background:transparent;border:1px solid transparent;border-radius:0;color:var(--muted);font-size:11px;min-height:44px;padding:12px 18px;transition:all .25s}.filters button.active{color:var(--gold);border-color:#ceb07877;background:#ceb0780a}.filters button:hover{color:var(--ink);background:#ffffff08}.filters button span{font-size:9px;margin-left:6px}.frame-count{color:var(--muted);font-size:9px;letter-spacing:.12em;white-space:nowrap}
.gallery{display:grid;columns:auto;grid-template-columns:repeat(12,minmax(0,1fr));gap:70px 40px;align-items:center}.gallery .gallery-item{display:block;width:100%;margin:0;grid-column:span 6;break-inside:avoid;min-width:0}.gallery .gallery-item:nth-child(4n+1){grid-column:span 7}.gallery .gallery-item:nth-child(4n+2){grid-column:span 5;padding:40px 0 40px 24px}.gallery .gallery-item:nth-child(4n+3){grid-column:span 5;padding:40px 24px 40px 0}.gallery .gallery-item:nth-child(4n+4){grid-column:span 7}.gallery.is-filtered .gallery-item{grid-column:span 6;padding:0}.gallery .gallery-item[hidden]{display:none}.gallery .photo-button,.gallery.is-filtered .photo-button{width:100%;height:auto;aspect-ratio:auto;display:block;overflow:hidden;background:#171716;position:relative}.gallery .photo-button img{width:100%;height:auto;object-fit:contain;filter:none;transition:transform 1s cubic-bezier(.2,.6,.3,1),opacity .3s}.gallery .photo-button:hover img{transform:scale(1.025);filter:none}.photo-open{color:var(--gold);background:#0b0b0be6;border:1px solid #ceb07866;top:auto;bottom:18px;right:18px;width:40px;height:40px;opacity:0;transform:translateY(5px);transition:.3s}.photo-button:hover .photo-open,.photo-button:focus-visible .photo-open{opacity:1;transform:none}.gallery-item figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:15px;margin-top:18px}.gallery-item figcaption span:first-child{font-family:var(--serif);font-size:29px;line-height:1.2;color:var(--ink);letter-spacing:0}.gallery-item figcaption span:last-child{font-size:8px;letter-spacing:.12em;color:var(--gold);margin:0;text-align:right;line-height:1.6}.collection-note{text-align:center;margin-top:70px;border-top:1px solid var(--line);padding-top:26px;font-size:10px;letter-spacing:.05em;color:var(--muted)}
.approach{background:#121211;border-block:1px solid var(--line);color:var(--ink)}.asterisk{color:var(--gold);font-size:42px}.approach-intro{gap:70px;align-items:flex-end;margin:40px 0 65px}.approach-intro>p{color:var(--muted);font-size:14px;line-height:1.9}.service-row{border-color:var(--line);padding:32px 0;grid-template-columns:40px 1fr 200px 38px;transition:padding .3s,background .3s}.service-row:hover{padding-inline:14px;background:#ffffff03}.service-row h3{font-family:var(--serif);font-size:43px;color:var(--ink)}.service-row p{font-size:12px;line-height:1.8;color:var(--muted)}.service-number,.service-tags,.service-arrow{color:var(--gold)}.service-tags{font-size:8px;letter-spacing:.1em}.approach-bottom{margin-top:32px}.approach-bottom>span{color:var(--muted);font-size:8px;letter-spacing:.1em}
.about{gap:9%;grid-template-columns:.9fr 1.1fr;align-items:center}.about-art{background:radial-gradient(ellipse at center,#262018,#111110 70%);height:auto;aspect-ratio:1;border:1px solid #ceb07840;position:relative;display:grid;place-items:center}.large-monogram{width:60%;height:auto;max-width:320px;opacity:.95}.art-top,.art-bottom{position:absolute;left:28px;right:28px;font-size:8px;letter-spacing:.17em;color:var(--gold)}.art-top{top:28px}.art-bottom{bottom:28px}.about-copy h2{margin-top:26px}.about-lead{font-family:var(--serif);font-size:30px;line-height:1.3;color:var(--gold);margin-block:28px}.about-copy>p:not(.eyebrow):not(.about-lead){font-size:14px;color:var(--muted);max-width:490px;line-height:1.9}.about-copy .text-link{margin-top:28px}.session{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:9%}.session h2{font-size:clamp(46px,4.8vw,70px);line-height:1.05;margin:28px 0}.session-intro>p:not(.eyebrow):not(.session-location){font-size:14px;color:var(--muted);line-height:1.9}.contact-link{border-color:var(--line);padding:20px 0}.contact-label{color:var(--gold);font-size:9px}.contact-value{font-size:14px;color:var(--ink)}.contact-arrow{color:var(--gold)}.planner-note{border-color:var(--line)}.planner-note p{font-size:11px;color:var(--muted);line-height:1.8}.session-location{color:var(--gold);font-size:8px;letter-spacing:.15em}.location-dot{background:var(--gold)}.session-form{background:#121211;border:1px solid var(--line);padding:32px;align-self:start}.session-form fieldset{border:0;padding:0;margin:0 0 34px}.session-form legend{font-family:var(--serif);font-size:28px;margin-bottom:20px}.type-options{gap:8px;flex-wrap:wrap}.type-options label>span{color:var(--muted);background:transparent;border:1px solid var(--line);padding:12px 14px;font-size:11px}.type-options input:checked+span{background:#ceb07818;border-color:var(--gold);color:var(--gold)}.type-options input:focus-visible+span{outline:2px solid var(--gold);outline-offset:4px}.form-grid{gap:28px 20px}.field>label{color:#ded8cb;font-size:11px}.field>label span{color:var(--muted)}.field>input,.field>textarea{background:transparent;color:var(--ink);border-color:#ffffff33;border-radius:0;font-size:16px;line-height:1.6;color-scheme:dark}.field>input::placeholder,.field>textarea::placeholder{color:#8b877f;font-size:12px}.solid-button{background:var(--gold);color:#14120e;border:1px solid var(--gold);min-height:52px;padding:17px 22px;font-size:12px;transition:background .25s}.solid-button:hover{background:#dfc591;color:#0b0b0b}.form-note{color:var(--muted);font-size:10px;line-height:1.7}.footer{background:#111110;color:var(--ink);border-top:1px solid var(--line);padding-block:40px 30px}.footer-phrase{font-size:clamp(70px,9vw,138px);line-height:.98;padding-block:52px 65px}.footer-phrase>span{color:var(--gold);font-size:80px}.footer-bottom{border-color:var(--line);color:var(--muted);font-size:8px}.footer-top>a{color:var(--gold)}
.lightbox{background:#090909;color:var(--ink);padding:24px 36px}.lightbox-top{color:var(--gold);font-size:9px}.icon-button{width:44px;height:44px;min-width:44px}.lightbox-prev,.lightbox-next{border-color:#ceb07866;color:var(--gold)}.lightbox-stage>img{object-fit:contain;max-height:calc(100dvh - 210px);touch-action:pan-y}.lightbox-caption h2{font-size:30px}.lightbox-caption p,.lightbox-caption #lightbox-credit{color:var(--gold)}dialog::backdrop{background:#000d;backdrop-filter:blur(10px)}.text-dialog{background:#151513;border:1px solid #ceb07855;color:var(--ink)}.brief-dialog pre{background:#0b0b0b;color:var(--ink);border:1px solid var(--line)}.outline-button{color:var(--gold);border-color:#ceb07866;min-height:48px}.outline-button:hover{background:#ceb07815}.text-dialog>p{color:var(--muted)}.skip-link{background:var(--gold);color:#0b0b0b}.noscript-note{background:#161614;color:var(--muted)}
/* Content stays visible unless motion is supported and enhanced. */
@media(prefers-reduced-motion:no-preference){.motion-ready .reveal{opacity:0;transform:translateY(24px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.6,.3,1)}.motion-ready .reveal.is-visible{opacity:1;transform:none}.hero-copy{animation:arrive .9s ease both}.hero-image{animation:arrive 1.2s .1s ease both}@keyframes arrive{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.gallery-item.filter-enter{animation:arrive .45s ease both}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}nav{gap:18px}.hero{gap:36px;min-height:650px}.hero h1{font-size:clamp(76px,9vw,110px)}.hero-foot .edition{display:none}.gallery{gap:48px 26px}.gallery-item figcaption{display:block}.gallery-item figcaption span:last-child{display:block;text-align:left;margin-top:8px}.service-row{grid-template-columns:30px 1fr 150px 30px}.session-form{padding:25px}.about{gap:6%}.about-art{min-height:380px}.section-heading>p{max-width:300px}}
@media(max-width:760px){html{scroll-padding-top:88px}.wrap{width:calc(100% - 40px)}.site-header{height:82px}.brand-type{font-size:10px}.monogram{width:46px;height:46px}.menu-toggle{min-height:44px;padding:8px 0 8px 16px;gap:12px}.site-header nav{top:81px;left:-20px;right:-20px;background:#10100f;border-bottom:1px solid #ceb07855;padding:18px 24px 26px;box-shadow:0 20px 32px #0008;max-height:calc(100dvh - 82px);overflow:auto}.site-header nav>a{min-height:48px;padding:15px 8px;font-size:14px}.site-header .nav-cta{padding:14px;margin-top:10px}.hero{grid-template-columns:1fr;gap:35px;min-height:0;padding-block:42px}.hero h1{font-size:clamp(74px,16vw,108px);line-height:.96;margin:25px 0}.hero-description{font-size:14px;max-width:370px}.hero .eyebrow{font-size:8px;letter-spacing:.13em}.hero .text-link{margin-top:22px;min-height:44px}.hero-foot{display:none}.hero-image{aspect-ratio:1;max-height:none}.hero-image figcaption{bottom:20px;left:20px;right:20px}.hero-image figcaption span:last-child{display:none}.discipline-bar{padding:20px 0}.discipline-bar .wrap{font-size:8px;letter-spacing:.12em;gap:12px}.discipline-bar .wrap>span:last-child,.discipline-bar .wrap>i:last-of-type{display:none}.section-space{padding-block:72px}h2{font-size:clamp(47px,10.8vw,68px);line-height:1.04}.eyebrow{font-size:9px}.section-top .small-note{font-size:9px;max-width:140px}.section-heading{display:block;margin:30px 0 35px}.section-heading>p{margin-top:24px;max-width:440px;font-size:13px}.gallery-toolbar{gap:12px;flex-wrap:wrap;margin-bottom:32px;padding:12px 0 16px}.filters{gap:3px;width:100%;justify-content:space-between}.filters button{padding:11px 10px;font-size:11px;min-height:44px}.filters button span{display:none}.frame-count{font-size:8px;flex-basis:100%;padding:0}.gallery{display:grid;grid-template-columns:1fr;gap:36px;columns:auto}.gallery .gallery-item,.gallery .gallery-item:nth-child(n),.gallery.is-filtered .gallery-item{grid-column:1;padding:0;margin:0}.gallery-item figcaption{display:flex;align-items:baseline;margin-top:14px;gap:16px}.gallery-item figcaption span:first-child{font-size:27px}.gallery-item figcaption span:last-child{font-size:7px;margin:0;text-align:right}.photo-open{display:grid;opacity:1;transform:none;width:34px;height:34px;bottom:12px;right:12px}.gallery .photo-button:hover img{transform:none}.collection-note{margin-top:38px;padding-top:22px;font-size:9px}.approach-intro{display:block;margin:30px 0 35px}.approach-intro>p{font-size:13px;max-width:430px;margin-top:24px}.asterisk{font-size:32px}.service-row{grid-template-columns:24px 1fr 28px;gap:10px;padding:26px 0}.service-row h3{font-size:35px}.service-row p{font-size:12px;max-width:320px}.service-tags{display:none}.service-arrow{font-size:25px}.approach-bottom{gap:25px}.approach-bottom>span{font-size:7px;max-width:110px;line-height:1.8}.approach-bottom .text-link{font-size:11px}.about{grid-template-columns:1fr;gap:42px}.about-art{width:100%;max-width:460px;min-height:0;aspect-ratio:1}.about-copy h2{margin-top:24px}.about-lead{font-size:29px}.about-copy>p:not(.eyebrow):not(.about-lead){font-size:14px;max-width:100%}.session{grid-template-columns:1fr;gap:36px}.session h2{font-size:clamp(43px,10vw,62px)}.session-intro>p:not(.eyebrow):not(.session-location){font-size:13px}.session-form{padding:24px 20px}.session-form legend{font-size:27px}.form-grid{grid-template-columns:1fr}.field>input,.field>textarea{font-size:16px;min-height:44px}.type-options label>span{padding:12px 13px}.footer-phrase{font-size:clamp(52px,12vw,86px);padding-block:38px 45px;padding-right:26px;line-height:1.03}.footer-phrase>span{font-size:36px;top:40px;right:0}.footer-bottom{font-size:7px;line-height:1.8;gap:12px}.lightbox{padding:16px}.lightbox-stage{position:relative;gap:0;padding:14px 0 68px}.lightbox-stage>img{max-height:calc(100dvh - 245px);max-width:100%;margin:auto}.lightbox-prev,.lightbox-next{position:absolute;bottom:8px}.lightbox-prev{left:calc(50% - 54px)}.lightbox-next{right:calc(50% - 54px)}.lightbox-caption{min-height:75px;flex-wrap:wrap;align-items:flex-start}.lightbox-caption h2{font-size:27px}.lightbox-caption #lightbox-credit{font-size:8px}.lightbox-top{font-size:8px;letter-spacing:.06em}.text-dialog{padding:24px;max-width:calc(100vw - 24px)}.text-dialog h2{font-size:47px}.brief-actions{grid-template-columns:1fr}}
@media(max-width:360px){.wrap{width:calc(100% - 32px)}.hero h1{font-size:72px}.brand-type{font-size:9px}.filters button{padding-inline:8px;font-size:10px}.gallery-item figcaption span:first-child{font-size:24px}.gallery-item figcaption span:last-child{font-size:6px}.footer-phrase{font-size:51px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important}}
.hero h1 em{color:var(--gold)}
