/* Avraham Maisels portfolio — editorial, image-first system */
:root{
  --paper:#f4f2ed;
  --ink:#11110f;
  --muted:#6c6a64;
  --line:rgba(17,17,15,.18);
  --header-h:72px;
  --pad:clamp(18px,3vw,48px);
  --max:1800px;
  --ease:cubic-bezier(.22,.72,.2,1);
  --sans:"Helvetica Neue",Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.4;-webkit-font-smoothing:antialiased}
body.is-locked{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
img{display:block;max-width:100%}
::selection{background:var(--ink);color:var(--paper)}
.skip-link{position:fixed;left:12px;top:-80px;z-index:1000;background:var(--ink);color:#fff;padding:10px 14px;transition:top .2s}
.skip-link:focus{top:12px}
:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.site-header{position:fixed;z-index:100;inset:0 0 auto 0;height:var(--header-h);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--pad);transition:background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease)}
.site-header--over-hero{color:#fff;border-bottom:1px solid transparent}
.site-header--over-hero.is-solid,.site-header--solid{color:var(--ink);background:rgba(244,242,237,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.site-header.is-menu-open{color:var(--ink)!important;background:transparent!important;border-bottom-color:transparent!important;backdrop-filter:none!important}
.wordmark{font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;justify-self:start;white-space:nowrap}
.site-nav{display:flex;gap:clamp(16px,2.2vw,34px);align-items:center}
.site-nav__link,.inquire-link{font-size:12px;letter-spacing:.05em;text-transform:uppercase;position:relative;white-space:nowrap}
.site-nav__link::after,.inquire-link::after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:currentColor;transition:right .25s var(--ease)}
.site-nav__link:hover::after,.site-nav__link.is-active::after,.inquire-link:hover::after{right:0}
.inquire-link{justify-self:end}
.menu-toggle{display:none;border:0;background:transparent;padding:10px 0;width:30px;height:30px;position:relative;cursor:pointer}
.menu-toggle span{position:absolute;left:0;width:30px;height:1px;background:currentColor;transition:transform .3s var(--ease),top .3s var(--ease)}
.menu-toggle span:first-child{top:10px}.menu-toggle span:last-child{top:19px}
.menu-toggle[aria-expanded="true"] span:first-child{top:15px;transform:rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:last-child{top:15px;transform:rotate(-45deg)}
.menu-panel{position:fixed;z-index:90;inset:0;background:var(--paper);display:flex;flex-direction:column;justify-content:space-between;padding:calc(var(--header-h) + 40px) var(--pad) 32px;visibility:hidden;opacity:0;transition:opacity .3s var(--ease),visibility .3s}
.menu-panel.is-open{visibility:visible;opacity:1}
.menu-panel__nav{display:flex;flex-direction:column;align-items:flex-start}
.menu-panel__link{font-size:clamp(38px,12vw,70px);line-height:1.08;letter-spacing:-.045em}
.menu-panel__link.is-active{color:var(--muted)}
.menu-panel__foot{display:flex;gap:24px;font-size:13px;text-transform:uppercase;letter-spacing:.04em}
.section-kicker,.eyebrow{font-size:11px;line-height:1.2;letter-spacing:.12em;text-transform:uppercase;margin:0;color:var(--muted)}
.site-footer{min-height:120px;border-top:1px solid var(--line);padding:30px var(--pad);display:flex;justify-content:space-between;align-items:flex-end;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.site-footer p{margin:0}.site-footer div{display:flex;gap:24px}
/* Hero */
.home-hero{position:relative;height:100svh;min-height:620px;background:#080808;color:#fff;overflow:hidden}
.home-hero__image{position:absolute;inset:0;border:0;padding:0;background:#080808;cursor:zoom-in;width:100%;height:100%;isolation:isolate;overflow:hidden}
.home-hero__image::after{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.28) 0%,rgba(0,0,0,.03) 32%,rgba(0,0,0,.08) 60%,rgba(0,0,0,.34) 100%),linear-gradient(90deg,rgba(0,0,0,.40) 0%,rgba(0,0,0,.09) 48%,rgba(0,0,0,.04) 100%);pointer-events:none}
.home-hero__slide{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--hero-position,center center);opacity:0;transform:scale(1.015);transition:opacity .9s var(--ease);pointer-events:none;will-change:opacity}
.home-hero__slide.is-active{opacity:1}
.home-hero__slide.is-initial{animation:hero-settle 1.4s var(--ease) both}
@keyframes hero-settle{from{opacity:.15;transform:scale(1.05)}to{opacity:1;transform:scale(1.015)}}
.home-hero__copy{position:absolute;z-index:2;left:var(--pad);right:var(--pad);bottom:clamp(70px,11vh,130px);display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"eye discipline" "title discipline";align-items:end;gap:16px 40px;pointer-events:none}
.home-hero__copy .eyebrow{grid-area:eye;color:rgba(255,255,255,.75)}
.home-hero h1{grid-area:title;font-size:clamp(58px,8.2vw,138px);line-height:.83;letter-spacing:-.075em;font-weight:500;margin:0;max-width:9ch}
.home-hero__discipline{grid-area:discipline;font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 5px;writing-mode:vertical-rl;transform:rotate(180deg)}
.scroll-cue{position:absolute;z-index:2;left:var(--pad);bottom:24px;display:flex;align-items:center;gap:14px;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.scroll-cue i{display:block;width:46px;height:1px;background:currentColor;transform-origin:left;animation:cue 2s var(--ease) infinite}
@keyframes cue{0%,100%{transform:scaleX(.2);opacity:.45}50%{transform:scaleX(1);opacity:1}}
/* Home edit */
.home-intro{max-width:var(--max);margin:0 auto;padding:clamp(100px,15vw,220px) var(--pad) clamp(90px,12vw,180px);display:grid;grid-template-columns:1.45fr .55fr;gap:9vw;align-items:end}
.home-intro h2{font-size:clamp(42px,6.1vw,104px);font-weight:400;line-height:.95;letter-spacing:-.055em;margin:24px 0 0}
.home-intro__aside{max-width:390px;padding-bottom:8px}.home-intro__aside p{font-size:clamp(18px,1.5vw,24px);line-height:1.35;margin:0 0 32px}
.text-link{font-size:12px;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:5px}
.selected-edit{max-width:var(--max);margin:0 auto;padding:0 var(--pad) clamp(120px,14vw,220px)}
.edit-row{display:grid;margin-bottom:clamp(50px,8vw,140px);align-items:start;gap:clamp(14px,2vw,34px)}
.edit-row--solo-full{grid-template-columns:1fr}.edit-row--solo-full .media{width:100%}
.edit-row--solo-left{grid-template-columns:repeat(12,1fr)}.edit-row--solo-left .media{grid-column:1/span 8}
.edit-row--solo-right{grid-template-columns:repeat(12,1fr)}.edit-row--solo-right .media{grid-column:5/span 8}
.edit-row--solo-center{grid-template-columns:repeat(12,1fr)}.edit-row--solo-center .media{grid-column:3/span 8}
.edit-row--pair-7-5{grid-template-columns:7fr 5fr}.edit-row--pair-5-7{grid-template-columns:5fr 7fr}.edit-row--pair-8-4{grid-template-columns:8fr 4fr}.edit-row--pair-4-8{grid-template-columns:4fr 8fr}
.edit-row--pair-7-5 .media:nth-child(2),.edit-row--pair-5-7 .media:nth-child(1),.edit-row--pair-8-4 .media:nth-child(2),.edit-row--pair-4-8 .media:nth-child(1){margin-top:clamp(50px,8vw,140px)}
.media{margin:0;min-width:0}
.media__button{display:block;width:100%;border:0;padding:0;background:#ddd9d1;position:relative;overflow:hidden;cursor:zoom-in;text-align:inherit}
.media__button img{width:100%;height:auto;transition:transform .8s var(--ease),filter .5s;will-change:transform}
.media__veil{position:absolute;inset:0;background:rgba(0,0,0,.12);opacity:0;transition:opacity .35s var(--ease)}
.media__button:hover img{transform:scale(1.012)}.media__button:hover .media__veil{opacity:1}
.media__caption{display:flex;justify-content:space-between;gap:16px;padding-top:9px;font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.media__caption span:last-child{text-align:right}
.js [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js [data-reveal].is-visible{opacity:1;transform:none}
.artist-index{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:40px var(--pad);display:grid;grid-template-columns:1fr 3fr;gap:30px;max-width:var(--max);margin:0 auto}
.artist-index p:last-child{margin:0;font-size:clamp(18px,2.4vw,36px);line-height:1.35;letter-spacing:-.025em}
.artist-index a{border-bottom:1px solid transparent;transition:border-color .2s}.artist-index a:hover{border-bottom-color:currentColor}
.closing-cta{padding:clamp(120px,17vw,260px) var(--pad);text-align:center}
.closing-cta h2{font-size:clamp(54px,9vw,150px);font-weight:400;letter-spacing:-.075em;line-height:.84;margin:30px auto 58px}
.cta-button{display:inline-flex;align-items:center;gap:40px;border:1px solid var(--ink);padding:17px 20px;font-size:12px;letter-spacing:.09em;text-transform:uppercase;transition:background .25s,color .25s}
.cta-button:hover{background:var(--ink);color:var(--paper)}
/* Inner pages */
.page-intro{padding:calc(var(--header-h) + clamp(56px,6vw,110px)) var(--pad) clamp(50px,6vw,90px);display:grid;grid-template-columns:1fr 2fr 1fr;gap:30px;align-items:end;max-width:var(--max);margin:0 auto}
.page-intro h1{font-size:clamp(56px,9.5vw,162px);font-weight:400;letter-spacing:-.075em;line-height:.84;margin:0;grid-column:2}
.page-intro>p:last-child{margin:0;max-width:360px;font-size:17px;line-height:1.45}
.project-index{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:10px 24px;padding:24px var(--pad);font-size:11px;letter-spacing:.08em;text-transform:uppercase;max-width:var(--max);margin:0 auto}
.project-index a:hover{text-decoration:underline;text-underline-offset:4px}
.artist-project{max-width:var(--max);margin:0 auto;padding:clamp(65px,7vw,120px) var(--pad) 0;scroll-margin-top:var(--header-h)}
.artist-project>header{display:grid;grid-template-columns:60px 1fr;border-top:1px solid var(--line);padding-top:14px;margin-bottom:clamp(30px,4vw,64px)}
.artist-project>header p{font-size:11px;margin:0;color:var(--muted)}
.artist-project>header h2{font-size:clamp(28px,4vw,64px);font-weight:400;letter-spacing:-.045em;line-height:1;margin:0}
.artist-project__grid{display:grid;gap:clamp(14px,2vw,32px);align-items:start}
.artist-project__grid--1{grid-template-columns:repeat(12,1fr)}.artist-project__grid--1 .media{grid-column:2/span 10}
.artist-project__grid--2{grid-template-columns:1.25fr .75fr}.artist-project__grid--2 .media:nth-child(2){margin-top:8vw}
.artist-project__grid--3{grid-template-columns:repeat(12,1fr)}.artist-project__grid--3 .media:nth-child(1){grid-column:1/span 7}.artist-project__grid--3 .media:nth-child(2){grid-column:8/span 5;margin-top:7vw}.artist-project__grid--3 .media:nth-child(3){grid-column:3/span 8;margin-top:6vw}
.artist-project__grid--4{grid-template-columns:repeat(2,1fr)}.artist-project__grid--4 .media:nth-child(2){margin-top:6vw}.artist-project__grid--4 .media:nth-child(3){margin-top:-1vw}.artist-project__grid--4 .media:nth-child(4){margin-top:5vw}
.gallery-flow{max-width:var(--max);margin:0 auto;padding:0 var(--pad) clamp(100px,12vw,190px);display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(60px,9vw,160px) clamp(14px,2vw,34px)}
.gallery-flow .media:nth-child(6n+1){grid-column:1/span 8}.gallery-flow .media:nth-child(6n+2){grid-column:8/span 5;margin-top:12vw}.gallery-flow .media:nth-child(6n+3){grid-column:3/span 7}.gallery-flow .media:nth-child(6n+4){grid-column:1/span 5}.gallery-flow .media:nth-child(6n+5){grid-column:6/span 7;margin-top:6vw}.gallery-flow .media:nth-child(6n+6){grid-column:2/span 10}
.gallery-flow--film{background:#161614;color:#f2f0ea;max-width:none;padding-left:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));padding-right:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));padding-top:clamp(80px,10vw,160px)}
.gallery-flow--film .media__button{background:#282824}.gallery-flow--film .media__caption{color:#aaa79e}
.next-page{max-width:var(--max);margin:0 auto;border-top:1px solid var(--line);padding:26px var(--pad) clamp(100px,12vw,180px);display:flex;justify-content:space-between;align-items:baseline}
.next-page p{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.next-page a{font-size:clamp(34px,6vw,96px);letter-spacing:-.055em;line-height:1}
/* Info */
.info-hero{padding:calc(var(--header-h) + clamp(60px,8vw,120px)) var(--pad) clamp(100px,12vw,180px);max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,8vw,140px);align-items:center}
.info-hero__portrait img{width:100%;height:auto}.info-hero__copy h1{font-size:clamp(58px,8vw,130px);font-weight:400;letter-spacing:-.075em;line-height:.86;margin:24px 0 50px}
.info-hero__copy>p:not(.section-kicker){max-width:560px;font-size:17px;line-height:1.55;color:var(--muted)}.info-hero__copy .info-lead{font-size:clamp(22px,2.2vw,36px)!important;line-height:1.3!important;color:var(--ink)!important}
.services{border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:var(--max);margin:0 auto;padding:38px var(--pad);display:grid;grid-template-columns:1fr 3fr;gap:30px}.services>div{display:flex;flex-wrap:wrap;gap:12px 38px}.services span{font-size:clamp(18px,2vw,30px)}
.contact-section{max-width:var(--max);margin:0 auto;padding:clamp(110px,15vw,230px) var(--pad);display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(50px,10vw,180px);align-items:start}
.contact-section__intro h2{font-size:clamp(50px,7vw,112px);line-height:.88;letter-spacing:-.07em;font-weight:400;margin:24px 0 36px}.contact-section__intro>p:not(.section-kicker){color:var(--muted);max-width:360px}.contact-direct{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:38px}.contact-direct a{border-bottom:1px solid var(--line)}
.inquiry-form{display:grid;grid-template-columns:1fr 1fr;gap:24px 28px}.form-field{display:flex;flex-direction:column;gap:9px}.form-field--full{grid-column:1/-1}.form-field label{font-size:10px;letter-spacing:.1em;text-transform:uppercase}.form-field label span{color:var(--muted);text-transform:none;letter-spacing:0}.form-field input,.form-field select,.form-field textarea{width:100%;border:0;border-bottom:1px solid var(--ink);border-radius:0;background:transparent;padding:10px 0 13px;outline:none}.form-field textarea{resize:vertical;min-height:140px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-bottom-width:2px}.form-submit{grid-column:1/-1;display:flex;align-items:center;gap:24px;margin-top:18px}.form-submit button{border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:15px 18px;display:flex;gap:50px;cursor:pointer;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.form-submit button:disabled{opacity:.55;cursor:wait}.form-submit p{margin:0;font-size:12px;color:var(--muted)}.honeypot{position:absolute!important;left:-9999px!important}
/* Lightbox */
.lightbox{position:fixed;z-index:300;inset:0;background:#090909;color:#fff;display:grid;grid-template-columns:80px 1fr 80px;align-items:center;visibility:hidden;opacity:0;transition:opacity .25s var(--ease),visibility .25s}
.lightbox.is-open{visibility:visible;opacity:1}.lightbox__close{position:absolute;z-index:2;top:22px;right:var(--pad);background:transparent;color:#fff;border:0;padding:8px 0;font-size:11px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.lightbox__figure{margin:0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100svh;padding:60px 0 22px}.lightbox__image{max-width:100%;max-height:calc(100svh - 110px);width:auto;height:auto;object-fit:contain}.lightbox__caption{width:100%;display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#b8b8b3;padding-top:10px}.lightbox__hit{height:100%;border:0;background:transparent;color:#fff;cursor:pointer;font-size:22px;opacity:.5;transition:opacity .2s}.lightbox__hit:hover{opacity:1}
@media (max-width:980px){
  .site-nav{display:none}.site-header{grid-template-columns:1fr auto}.inquire-link{display:none}.menu-toggle{display:block;justify-self:end}
  .home-intro{grid-template-columns:1fr}.home-intro__aside{margin-left:auto}
  .page-intro{grid-template-columns:1fr 2fr}.page-intro h1{grid-column:1/-1}.page-intro>p:last-child{grid-column:2}
  .info-hero{grid-template-columns:1fr 1fr}.contact-section{grid-template-columns:1fr}.contact-section__intro{max-width:700px}.services{grid-template-columns:1fr 2fr}
}
@media (max-width:760px){
  :root{--header-h:60px;--pad:16px}
  .site-header{height:var(--header-h)}.wordmark{font-size:11px}
  .home-hero{min-height:560px}.home-hero__slide{object-position:var(--hero-position-mobile,var(--hero-position,center center))}.home-hero__image::after{background:linear-gradient(180deg,rgba(0,0,0,.28) 0%,rgba(0,0,0,.04) 28%,rgba(0,0,0,.16) 60%,rgba(0,0,0,.58) 100%)}
  .home-hero__copy{bottom:82px;display:block}.home-hero h1{font-size:clamp(55px,18vw,90px);margin-top:14px}.home-hero__discipline{writing-mode:horizontal-tb;transform:none;margin-top:18px;font-size:10px}
  .home-intro{padding-top:90px;padding-bottom:90px}.home-intro h2{font-size:48px}.home-intro__aside{margin:0}.home-intro__aside p{font-size:18px}
  .selected-edit{padding-left:0;padding-right:0}.edit-row{display:block;margin-bottom:54px}.edit-row .media{width:100%;margin:0 0 30px!important}.edit-row .media__caption{padding-left:var(--pad);padding-right:var(--pad)}
  .media__button:hover img{transform:none}.media__veil{display:none}
  .artist-index{grid-template-columns:1fr;padding-top:28px;padding-bottom:28px}.artist-index p:last-child{font-size:20px}
  .closing-cta{padding:110px 16px}.closing-cta h2{font-size:58px}.cta-button{gap:25px}
  .page-intro{display:block;padding-top:130px;padding-bottom:80px}.page-intro h1{font-size:64px;margin:22px 0 30px}.page-intro>p:last-child{font-size:16px}
  .project-index{overflow:auto;flex-wrap:nowrap;white-space:nowrap;padding-right:40px}
  .artist-project{padding-top:90px;padding-left:0;padding-right:0}.artist-project>header{margin-left:var(--pad);margin-right:var(--pad);grid-template-columns:45px 1fr}.artist-project__grid{display:block}.artist-project__grid .media{margin:0 0 34px!important}.artist-project__grid .media__caption{padding-left:var(--pad);padding-right:var(--pad)}
  .gallery-flow,.gallery-flow--film{display:block;padding-left:0;padding-right:0;padding-top:0}.gallery-flow--film{padding-top:70px}.gallery-flow .media{margin:0 0 48px!important}.gallery-flow .media__caption{padding-left:var(--pad);padding-right:var(--pad)}
  .next-page{padding-bottom:100px}.next-page a{font-size:38px}
  .info-hero{display:flex;flex-direction:column;padding-top:100px}.info-hero__portrait{order:2}.info-hero__copy{order:1}.info-hero__copy h1{font-size:64px;margin-bottom:36px}.services{display:block}.services>div{margin-top:25px;display:flex;flex-direction:column;gap:7px}.services span{font-size:22px}
  .contact-section{padding-top:100px}.contact-section__intro h2{font-size:58px}.inquiry-form{display:block}.form-field{margin-bottom:25px}.form-submit{display:block}.form-submit p{margin-top:14px}
  .lightbox{grid-template-columns:42px 1fr 42px}.lightbox__figure{padding-top:55px}.lightbox__caption{font-size:9px}.lightbox__close{top:12px}.lightbox__hit{font-size:18px}
  .site-footer{min-height:140px;display:block}.site-footer div{margin-top:30px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition-duration:.01ms!important;transition-delay:0ms!important}}
