/* SAID BAALBAKI / Excavations of Memory — approved V3 hybrid */
:root{--hy-paper:#eae2d5;--hy-char:#191a19;--hy-burgundy:#6b283b;--hy-cream:#f4eee3}
html{scroll-behavior:smooth}
body{cursor:auto!important}
.ink-cursor,.custom-cursor,.cursor-label,[data-cursor]{cursor:auto!important}
/* Cinema hero uses actual HTML typography and a separated visual artwork plate.
   Approved generated visual study is a compositional guide, not an original Baalbaki painting. */
.cinema-hero{position:relative;isolation:isolate;overflow:hidden;min-height:clamp(700px,95svh,1010px);background:#e9e1d4;color:#1a1a19;display:flex;align-items:center;padding:clamp(100px,13vh,158px) var(--gutter) 90px}
.cinema-paper{pointer-events:none;position:absolute;inset:0;background:repeating-linear-gradient(5deg,transparent 0 4px,#35261c06 5px 5.7px),radial-gradient(ellipse at 17% 41%,#f8f2e7 0%,#f0e9de 37%,transparent 75%),linear-gradient(110deg,#efe8dd,#e1d9cb);z-index:-4}
.cinema-architecture{position:absolute;pointer-events:none;inset:0;z-index:-2;opacity:.36;mix-blend-mode:multiply;background-image:url('./assets/ink-lines.svg');background-size:min(64vw,1050px) auto;background-repeat:no-repeat;background-position:45% 37%;transform-origin:center}
.cinema-art{position:absolute;inset:0 0 0 40%;z-index:-2;overflow:hidden;mask-image:linear-gradient(90deg,transparent 0%,#000 20%,#000 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 20%,#000 100%)}
.cinema-art img{width:100%;height:100%;object-fit:cover;object-position:center center;filter:saturate(.89) contrast(1.04)}
.cinema-ruby{position:absolute;z-index:-1;inset:0 0 0 48%;pointer-events:none;background:linear-gradient(270deg,#1b181421,transparent 78%),linear-gradient(180deg,transparent 73%,#35292322)}
.cinema-hero:after{content:"";position:absolute;inset:7px;border:1px solid #695d4d2e;z-index:0;pointer-events:none}
.cinema-copy{z-index:2;position:relative;width:min(63%,860px);padding-bottom:3vh}
.cinema-pre,.cinema-edition,.cinema-corner,.cinema-index,.cinema-scroll,.cinema-side,.cinema-link{font:500 10px/1.4 var(--sans);letter-spacing:.17em}
.cinema-pre{display:inline-block;max-width:100%;border-bottom:1px solid #6c5646;padding-bottom:14px;color:#5d5247;white-space:normal}
.cinema-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(78px,10.6vw,192px);letter-spacing:-.082em;line-height:.81;margin:clamp(46px,8vh,90px) 0 clamp(42px,6vh,70px);color:#161918;text-shadow:0 1px 0 #f9f0e4aa}
.cinema-line{display:block;overflow:hidden;padding:0 .06em .07em 0}.cinema-line>span{display:inline-block;will-change:transform}
.cinema-after{display:flex;flex-direction:column;gap:27px;align-items:flex-start}.cinema-after p{font:400 clamp(22px,2.15vw,33px)/1.24 var(--serif);margin:0;max-width:400px;color:#36332f}
.cinema-link{display:inline-flex;gap:38px;align-items:center;border-bottom:1px solid #8e3945;padding:0 0 10px;transition:gap .3s,color .3s}.cinema-link:hover{gap:51px;color:#953d4d}
.cinema-edition{position:absolute;left:var(--gutter);top:100px;z-index:2;font-size:10px}.cinema-edition span{color:#9c6063}
.cinema-index{position:absolute;top:49%;left:25px;display:flex;flex-direction:column;align-items:center;gap:14px;z-index:2;color:#7e7167}.cinema-index span{height:96px;width:1px;background:#ad8a87}
.cinema-side{position:absolute;right:clamp(24px,3vw,56px);top:28%;z-index:2;display:flex;flex-direction:column;gap:25px;color:#fbf1e6;mix-blend-mode:normal;text-shadow:0 1px 5px #271c1be8}.cinema-side a{display:flex;min-width:155px;align-items:center;justify-content:space-between;border-bottom:1px solid #eee6da66;padding-bottom:10px;transition:transform .25s,color .25s}.cinema-side a:hover{transform:translateX(-8px);color:#fff}
.cinema-side sup{font-size:9px;color:#dbc5b4}.cinema-scroll{position:absolute;right:clamp(24px,3vw,55px);bottom:65px;z-index:2;display:flex;align-items:center;gap:25px;color:#f6ede2;text-shadow:0 1px 6px #271b1ccc}.cinema-scroll span{font-size:26px;line-height:1;animation:hy-scroll 2.8s ease-in-out infinite}
.cinema-corner{position:absolute;left:var(--gutter);bottom:43px;z-index:2;color:#665e54;font-size:9px}
@keyframes hy-scroll{50%{transform:translateY(8px)}}
/* Shared museum enclosure system. Consistent frame + art mat + metadata at every comparable row. */
.work-grid,.work-grid.filtered{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:clamp(12px,1.5vw,25px)!important;align-items:stretch!important}
.work-grid .work-card:nth-child(n),.work-grid.filtered .work-card:nth-child(n){grid-column:auto!important;grid-row:auto!important;min-width:0!important;width:100%!important}
.work-card{display:flex!important;flex-direction:column!important;text-align:left!important;background:#f0e9de!important;box-shadow:0 0 0 1px #5d51452c inset;min-width:0}
.work-grid .work-card:nth-child(n) .work-image,.work-grid.filtered .work-card:nth-child(n) .work-image,.work-image{width:100%!important;height:clamp(290px,33vw,460px)!important;min-height:0!important;background:#e8e0d4!important;padding:clamp(20px,3vw,44px)!important;display:flex!important;justify-content:center!important;align-items:center!important;position:relative!important;overflow:hidden!important}
.work-image img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;transform:none!important;filter:none!important;mix-blend-mode:normal!important}
.work-card .card-details{min-height:125px;display:flex;flex:1;justify-content:space-between;align-items:flex-end;padding:24px 20px!important;background:#f1ebe1}
.work-card .card-details strong{font-size:clamp(20px,2vw,30px)!important;line-height:1.05}
.work-card .card-plus{width:31px!important;height:31px!important;display:grid!important;place-items:center!important;right:13px!important;top:13px!important;background:#302e2bd9!important;color:white!important;border-radius:50%!important;font-size:17px!important}
.work-card:hover .card-plus{background:#8e394a!important}
.work-image:after,.gallery-image:after,.project-visual:after{inset:9px!important}
.project-grid{align-items:stretch!important;gap:clamp(30px,3vw,54px)!important}.project-card{display:flex!important;flex-direction:column!important}
.project-visual,.project-documentation .gallery-image,.gallery-image{background:#ece5d9!important;height:clamp(315px,38vw,530px)!important;min-height:0!important;padding:clamp(18px,2.6vw,36px)!important;box-shadow:inset 0 0 0 1px #867b7033}
.project-visual img,.gallery-image img{object-fit:contain!important;max-width:100%!important;max-height:100%!important;transform:none!important}
.gallery-grid,.project-documentation .gallery-grid{align-items:stretch!important}.gallery-item{height:100%;min-height:0!important}.gallery-caption{min-height:75px!important;align-items:flex-start}
.print-work{display:flex!important;flex-direction:column!important;min-width:290px!important}.print-image{height:clamp(330px,42vw,550px)!important;flex-shrink:0;background:#ece5d9!important;display:flex;align-items:center;justify-content:center;padding:24px!important}
.print-image img{object-fit:contain!important}.print-work-footer{min-height:105px}
.chapter-card{min-height:clamp(470px,38vw,615px)!important;max-height:none!important}
.chapter-card img{object-fit:cover;object-position:center}
/* Story: deliberate unsettling contrast, not a horror effect. */
.hybrid-story{background:#1e201e;color:#eae1d3;position:relative;overflow:clip;padding:clamp(80px,9vw,155px) var(--gutter) clamp(60px,7vw,110px);isolation:isolate}
.hybrid-story:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 78% 42%,#66263347,transparent 42%),repeating-linear-gradient(104deg,transparent 0px,transparent 49px,#f3e0cd04 50px),url('./assets/grain.png');background-size:auto,auto,180px;opacity:.48;pointer-events:none;z-index:-1}
.story-introduction{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:20px 50px;margin-bottom:clamp(55px,6vw,100px);border-bottom:1px solid #d6c2ad49;padding-bottom:35px}
.story-eyebrow{grid-column:1/-1;font-size:10px;letter-spacing:.19em;color:#caa3a4}.story-introduction h2{font:400 clamp(59px,7.5vw,128px)/.91 var(--serif);letter-spacing:-.07em;margin:0;max-width:950px}.story-introduction h2 em{font-weight:400;color:#d69c9e}
.story-introduction p{margin:0 0 6px auto;max-width:310px;font:400 clamp(16px,1.5vw,23px)/1.38 var(--serif);color:#c5bcb3}
.story-layout{display:grid;grid-template-columns:54% minmax(0,1fr);gap:clamp(36px,6.5vw,120px);align-items:start}
.story-visual{height:min(74svh,760px);min-height:min(520px,calc(100svh - 180px));position:sticky;top:15svh;border:1px solid #d4bbab2e;background:#0e1110;overflow:hidden;isolation:isolate}
.story-visual:after{content:"";position:absolute;inset:17px;border:1px solid #e4c9bb24;pointer-events:none;z-index:6}
.story-photostack{position:absolute;inset:0}.story-scene{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.015);transition:opacity .45s ease,transform .75s ease;display:grid;place-items:center;padding:clamp(30px,5vw,90px)}
.story-scene.active{opacity:1;transform:scale(1)}.story-scene img{width:100%;height:100%;object-fit:contain;filter:saturate(.85)}
.story-visual:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,transparent 54%,#070807aa);z-index:2;pointer-events:none}
.story-plate{position:absolute;left:21px;right:21px;bottom:22px;z-index:4;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.16em;color:#ede3d9}
.story-chapters{position:relative}.story-chapter{min-height:78svh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(80px,8vw,130px) 0;border-bottom:1px solid #e4d3c02c;opacity:.54;transition:opacity .5s}.story-chapter.is-current{opacity:1}.story-number,.story-label{font-size:10px;letter-spacing:.2em;color:#b88e8a}.story-label{margin:36px 0 18px}.story-chapter h3{font:400 clamp(45px,5vw,83px)/1.01 var(--serif);letter-spacing:-.055em;margin:0 0 26px}.story-body{max-width:410px;font:400 clamp(18px,1.9vw,26px)/1.36 var(--serif);color:#c9c1b6;margin:0 0 40px}.story-action{font-size:10px;letter-spacing:.16em;border-bottom:1px solid #c19d98;padding:0 0 12px;transition:color .25s}.story-action:hover{color:#f1aeb5}.story-mobile-art{display:none}
.story-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #d8c4b049;padding-top:24px;margin-top:60px;color:#c8bdb0;font-size:9px;letter-spacing:.13em}.story-bottom a{border-bottom:1px solid #bc8b87;padding-bottom:5px}
/* Project pages: field-note as curatorial texture rather than generic quotation. */
.hybrid-project-note{background:#242625;color:#eee5d8;position:relative;overflow:hidden;min-height:clamp(460px,58svh,690px);padding:clamp(70px,7vw,130px) var(--gutter);isolation:isolate}
.hybrid-project-note:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 86% 60%,#702e3833,transparent 42%),url('./assets/grain.png');background-size:auto,155px;opacity:.54;z-index:-1;pointer-events:none}
.project-note-number{display:flex;justify-content:space-between;max-width:100%;font-size:10px;letter-spacing:.17em;color:#ad9b8c;border-bottom:1px solid #ede3d73b;padding-bottom:22px}
.hybrid-note-inner{max-width:min(920px,78%);margin:clamp(55px,7vw,110px) auto 0}.note-mini{display:block;font-size:10px;letter-spacing:.19em;color:#b58d91;margin-bottom:36px}
.hybrid-note-inner h2{font:400 clamp(50px,8vw,130px)/.92 var(--serif);letter-spacing:-.069em;margin:0 0 38px;text-transform:uppercase}.hybrid-note-inner p{font:400 clamp(20px,2.15vw,34px)/1.3 var(--serif);margin:0 0 45px;max-width:730px;color:#c9c1b7}.note-disclaimer{font-size:9px;letter-spacing:.1em;color:#988b80}
.hybrid-note-ink{position:absolute;right:-8%;bottom:-22%;width:45vw;height:45vw;background:url('./assets/ink-lines.svg') center/contain no-repeat;opacity:.1;filter:invert(1);z-index:-1}
/* Minor V3 typographic refinements */
.selected .section-heading h2,.inner-title{font-feature-settings:'liga' 1}.chapter-card:hover .round-arrow{transform:rotate(45deg)}
/* Mobile, tablet and reduced-motion rules */
@media(max-width:1200px){.cinema-hero h1{font-size:clamp(74px,10.8vw,135px)}.cinema-side{right:24px}.cinema-copy{width:69%}.story-layout{grid-template-columns:50% 1fr;gap:5vw}}
@media(max-width:900px){.cinema-hero{min-height:clamp(660px,84svh,890px)}.cinema-art{inset:0 0 0 34%;opacity:.93}.cinema-copy{width:80%}.cinema-hero h1{font-size:clamp(68px,11vw,110px)}.cinema-side{display:none}.cinema-edition{top:95px}.cinema-index{display:none}.cinema-scroll{bottom:40px;right:var(--gutter)}.cinema-corner{bottom:45px}.story-layout{grid-template-columns:48% 1fr;gap:24px}.story-visual{min-height:min(420px,calc(100svh - 160px));height:66svh;top:18svh}.work-grid,.work-grid.filtered{grid-template-columns:repeat(2,minmax(0,1fr))!important}.work-grid .work-card:nth-child(n) .work-image{height:clamp(260px,42vw,410px)!important}}
@media(max-width:650px){
 .cinema-hero{min-height:clamp(670px,93svh,870px);padding:135px var(--gutter) 65px;align-items:flex-end}
 .cinema-art{inset:0 0 29% 12%;opacity:.72;mask-image:linear-gradient(180deg,#000 5%,#000 55%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 5%,#000 55%,transparent 100%)}
 .cinema-architecture{background-size:110vw;background-position:70% 16%;opacity:.26}
 .cinema-copy{width:100%;padding-bottom:55px}.cinema-pre{font-size:8px;letter-spacing:.08em;color:#443933}.cinema-hero h1{font-size:clamp(63px,15vw,105px);line-height:.88;margin:27px 0 26px;letter-spacing:-.078em}.cinema-after p{font-size:clamp(18px,5vw,24px);max-width:290px}
 .cinema-edition{font-size:8px;top:95px;left:var(--gutter)}.cinema-scroll{bottom:18px;font-size:8px}.cinema-scroll span{font-size:19px}.cinema-corner{bottom:21px;font-size:7px;max-width:45%}
 .work-grid,.work-grid.filtered{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important}
 .work-grid .work-card:nth-child(n),.work-grid.filtered .work-card:nth-child(n){grid-column:auto!important;grid-row:auto!important}
 .work-grid .work-card:nth-child(n) .work-image,.work-grid.filtered .work-card:nth-child(n) .work-image{height:clamp(175px,43vw,260px)!important;padding:12px!important}
 .work-card .card-details{min-height:112px;padding:13px 10px 16px!important;align-items:flex-start}.work-card .card-details strong{font-size:clamp(16px,4.5vw,22px)!important}.work-card .card-details small{font-size:8px!important;letter-spacing:.08em}.work-card .card-details .counter{font-size:9px}.work-card .card-plus{height:25px!important;width:25px!important}
 .project-visual,.gallery-image,.project-documentation .gallery-image{height:min(60svh,480px)!important;min-height:230px!important}.gallery-caption{min-height:75px!important}
 .story-introduction{display:block;margin-bottom:40px}.story-introduction h2{font-size:clamp(55px,13vw,80px);margin:25px 0}.story-introduction p{font-size:18px;margin:0;max-width:270px}
 .hybrid-story{padding:70px var(--gutter) 70px}.story-layout{display:block}.story-visual{display:none}.story-chapter{opacity:1;min-height:0;padding:65px 0 80px}.story-mobile-art{display:grid;place-items:center;min-height:300px;height:min(54svh,450px);width:100%;margin:25px 0 34px;background:#101111;border:1px solid #eedfc52f;padding:25px}.story-mobile-art img{object-fit:contain;max-width:100%;max-height:100%}.story-chapter h3{font-size:clamp(47px,12vw,76px)}.story-chapter .story-body{font-size:21px}.story-bottom{align-items:flex-start;font-size:8px}
 .hybrid-project-note{min-height:440px;padding:75px var(--gutter)}.hybrid-note-inner{max-width:100%;margin:75px 0 0}.hybrid-note-inner h2{font-size:clamp(48px,12.7vw,77px)}.hybrid-note-inner p{font-size:22px}
 .print-work{min-width:230px!important}.print-image{height:min(60svh,440px)!important}
}
@media(max-width:375px){.cinema-hero h1{font-size:14.5vw}.work-grid,.work-grid.filtered{grid-template-columns:1fr!important}.work-grid .work-card:nth-child(n) .work-image{height:330px!important}.work-card .card-details{min-height:98px}.cinema-after p{font-size:19px}}
@media(prefers-reduced-motion:reduce){.cinema-scroll span{animation:none}.story-scene{transition:none}.cinema-line>span{transform:none!important;opacity:1!important}.cinema-art img{transform:none!important}}
.header.scrolled{background:rgba(236,229,216,.94)!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 1px 0 #3b342d2b;color:#1e1e1d!important}
.header.scrolled .desktop-nav a,.header.scrolled .wordmark{color:#1e1e1d!important}
.header:not(.scrolled){background:linear-gradient(90deg,rgba(243,237,226,.89),rgba(237,228,214,.79));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
@media(min-width:651px){.cinema-hero{min-height:100svh}}
@media(max-width:650px){.cinema-hero{min-height:max(680px,100svh)}}

/* Scroll-story repair: clipping must not create an intermediate scroll container.
   A clipping scroll ancestor disables position:sticky on the artwork column. */
@supports not (overflow:clip){.hybrid-story{overflow:visible}}
.story-chapter{scroll-margin-top:min(18svh,155px)}
