/* A quiet, architectural library with clothbound photographic volumes. */
#work{position:relative;isolation:isolate;overflow:hidden;padding:100px 5% 75px!important;margin:0!important;background:#e1dbcf!important;color:#30332d;box-shadow:0 -30px 80px #0002}
#work:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,#fff8 0%,transparent 50%,#655b4925),url('material.svg');pointer-events:none}
#work:after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 30px 80px #342b1715}
#work .sectionhead{max-width:1280px;margin:0 auto 60px;align-items:center}#work .sectionhead h2{color:#31382e;font:400 clamp(40px,5.3vw,76px)/1.08 Georgia,serif;letter-spacing:-2px;text-shadow:none;margin:16px 0}#work .sectionhead .eyebrow{color:#74684f;font-size:10px;letter-spacing:3px}#work .sectionhead>a{color:#4e5346;background:none;backdrop-filter:none;border:0;border-bottom:1px solid #888372;padding:10px 0;border-radius:0;font-size:11px;text-shadow:none}
.photobook-shell{width:min(1280px,100%);margin:0 auto;perspective:none;position:relative;transition:opacity .8s ease;transform:none!important}.library-heading{font:9px Arial;letter-spacing:2.6px;color:#77705e;margin:0 0 22px}.library-upper{height:135px;display:flex;align-items:end;gap:3px;padding:12px 8% 0;overflow:hidden;background:linear-gradient(#171c1690,#514b3330),url('oak.svg') center/cover;border:0;border-bottom:14px solid #84664a;box-shadow:inset 0 14px 26px #0008;position:relative}
.decor-volume{height:var(--h);max-height:112px;width:var(--w,35px);flex:1;max-width:52px;background:linear-gradient(90deg,#0008,transparent 20%,#fff1 40%,#0005),url('material.svg'),var(--c);border-radius:2px 3px 0 0;box-shadow:3px 1px 4px #0008;position:relative}.decor-volume:nth-child(5n){transform:rotate(-7deg);margin-inline:7px}.decor-volume:nth-child(3n){max-height:85px;flex:.65}.decor-volume:after{content:'';position:absolute;inset:16px 6px 18px;border-block:1px solid #dac99c50}
.bookshelf{display:flex;align-items:end;justify-content:center;gap:4px;padding:52px 6% 0;min-height:440px;margin:0;position:relative;background:linear-gradient(180deg,#151b18b0,transparent 45%),linear-gradient(90deg,#161d1855,transparent 30%,#dfcba122 70%,#171d1844),url('oak.svg') center/cover;border-inline:18px solid #66503b;box-shadow:inset 0 18px 30px #0007}.bookshelf:after{content:'';position:absolute;left:-22px;right:-22px;bottom:-25px;height:25px;background:linear-gradient(#e1c79a55,transparent 15%,#0004 90%),url('oak.svg') center/cover;box-shadow:0 16px 25px #30281c60,0 1px 0 #f3dec0 inset}.bookshelf:before{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 12px 0 25px #0003,inset -12px 0 25px #0003}
.shelf-book{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;flex:1;min-width:0;max-width:94px;height:var(--height);padding:22px 7px 19px;border:0;border-radius:4px 6px 1px 1px;background:linear-gradient(90deg,#0008,#fff1 12%,transparent 28%,#0003 90%,#0007),url('material.svg'),var(--book-color);box-shadow:5px 1px 7px #0008,inset 1px 0 1px #fff3;color:#e8d9b8;cursor:pointer;transform-origin:bottom;transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s}.shelf-book:nth-child(3){margin-right:9px}.shelf-book:nth-child(6){transform:rotate(-3deg);margin-inline:7px}.shelf-book:hover,.shelf-book:focus-visible{transform:translateY(-9px);box-shadow:9px 9px 15px #0008;z-index:3}.shelf-book:focus-visible{outline:2px solid #e0c692;outline-offset:5px}.spine-number{font:10px Georgia;opacity:.7}.spine-title{writing-mode:vertical-rl;transform:rotate(180deg);font:19px/1.2 Georgia;letter-spacing:.5px;max-height:235px;text-align:center}.spine-brand{font:7px Arial;letter-spacing:1px;opacity:.65}.spine-ornament{display:none}.shelf-book:first-child{max-width:225px;flex:2.5;height:345px;margin-right:20px;transform:rotate(-3deg);color:#353a30;background:linear-gradient(90deg,#786c53,#c4b698 5%,#e0d3b9 13%,#d8c9ac 90%,#a09273),url('material.svg');box-shadow:12px 7px 15px #0008,inset -5px 0 0 #e9dfc8,inset -6px 0 0 #8c7d60}.shelf-book:first-child:hover{transform:rotate(-3deg) translateY(-9px)}.shelf-book:first-child>.spine-number,.shelf-book:first-child>.spine-title,.shelf-book:first-child>.spine-brand{display:none}.album-jacket{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;padding:7px 15px 8px 20px}.album-jacket>span{font:7px Arial;letter-spacing:2px}.album-jacket img{width:100%;height:175px;object-fit:contain;margin:22px 0 19px;box-shadow:0 1px 2px #0002}.album-jacket strong{font:24px/1.1 Georgia;font-weight:400;text-align:center}.album-jacket small{font:6px Arial;letter-spacing:1.4px;margin-top:auto}.library-base{height:70px;background:linear-gradient(#1e201b90,#0001),url('oak.svg') center/cover;margin:25px 0 0;border-inline:18px solid #66503b;box-shadow:0 15px 25px #342e2620}.shelf-caption{margin:28px 0 0;font:11px Arial;letter-spacing:.7px;color:#746f60;text-align:center;text-shadow:none}.book-cover{display:none!important}.library-entering .photobook-shell{opacity:.65}#work .reveal{transform:none!important;opacity:1!important}
.photobook-shell #book-reader:not([hidden]){position:fixed;inset:0;z-index:1000;overflow:auto;padding:24px 4vw;background:radial-gradient(ellipse at 45% 10%,#52544b,#232923 85%);isolation:isolate;overscroll-behavior:contain}.reader-open{overflow:hidden!important}body.reader-open>header,body.reader-open>.scroll-progress{visibility:hidden;pointer-events:none}.book-toolbar,.book-controls{max-width:1600px;margin:0 auto 22px;color:#ded9cb}.book-controls{margin-top:24px}.book-toolbar button,.book-controls button{border:1px solid #c0baa944;background:transparent;color:#eee9dc;border-radius:0;font:11px Arial;letter-spacing:.5px;backdrop-filter:none}.book-toolbar button:hover,.book-controls button:hover{background:#fff1}.book-stage{max-width:1600px;margin:auto;filter:drop-shadow(0 20px 25px #0006)}.book-spread{border:0;border-radius:2px 5px 5px 2px;min-height:calc(100dvh - 180px);box-shadow:0 2px 0 #c5c0ae,0 5px 0 #ede7d8,0 8px 0 #b5ae9e,0 12px 0 #354135}.book-page{min-height:calc(100dvh - 180px);padding:30px 35px 40px}.book-page:first-child{background:linear-gradient(90deg,#f5f1e8 85%,#e9e4d9 97%,#b7b2a5)}.book-page:nth-child(2){background:linear-gradient(90deg,#c5bfb0,#f7f3eb 8%,#f5f1e8)}.page-photo img{height:calc(100dvh - 300px);min-height:200px;object-fit:contain}.page-eyebrow{color:#8b887b;font-size:8px;letter-spacing:2px}.book-page h3{color:#3d4539}.book-hint{color:#c1c4b7;font-size:10px;text-shadow:none}.book-spread.appearing{animation:album-arrive .45s ease both}@keyframes album-arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(max-width:800px){#work{padding:70px 5% 50px!important}.bookshelf{padding-inline:4%;border-inline-width:10px;min-height:360px}.shelf-book{height:calc(var(--height)*.82)}.shelf-book:first-child{height:290px;margin-right:10px;flex:2}.album-jacket{padding:3px 5px 7px 12px}.album-jacket img{height:140px;margin:15px 0}.album-jacket strong{font-size:20px}.spine-title{font-size:14px;max-height:200px}.spine-brand{font-size:5px;letter-spacing:0}.library-upper{height:100px}.decor-volume{max-height:85px}.library-base{height:45px;border-inline-width:10px}.book-page{padding:20px 15px 35px}.book-toolbar{gap:7px}.book-toolbar button{padding:10px}.photobook-shell #book-reader:not([hidden]){padding:15px 3vw}.book-toolbar span{font-size:10px}}
@media(max-width:540px){#work .sectionhead{display:block;margin-bottom:35px}#work .sectionhead h2{font-size:46px}.library-heading{font-size:7px;letter-spacing:1.5px}.bookshelf{justify-content:start;overflow-x:auto;gap:5px;padding:35px 22px 0;min-height:355px;scrollbar-color:#97836a #4c4536;scrollbar-width:thin}.shelf-book{flex:0 0 54px;min-width:54px}.shelf-book:first-child{flex:0 0 160px;min-width:160px}.bookshelf:after{display:none}.library-base{margin-top:0;height:35px}.shelf-caption{font-size:9px;line-height:1.6}.page-eyebrow{letter-spacing:1px;font-size:7px}.book-page h3{font-size:25px}.contents-list button{font-size:11px}.book-page{padding:20px 10px 35px}.page-photo img{height:calc(100dvh - 300px)}.book-toolbar button,.book-controls button{font-size:9px}.book-hint{font-size:9px}}
@media(prefers-reduced-motion:reduce){.shelf-book,.photobook-shell{transition:none}.book-spread.appearing{animation:none}.library-entering .photobook-shell{opacity:1}}

#work .reveal,#work .sectionhead h2{filter:none!important}#work .sectionhead h2{animation:none!important}.photobook-shell{opacity:1!important}

/* Richer cloth pigments and readable warm-neutral surfaces. */
#work{background:#eee5d5!important}#work:before{background:radial-gradient(ellipse at 25% 15%,#fff9eb99,transparent 65%),url('material.svg')}
#work .sectionhead h2{color:#263c30}#work .sectionhead .eyebrow,.library-heading,.shelf-caption{color:#554d3d}#work .sectionhead>a{color:#344b3b;border-color:#716950}
.bookshelf{background:linear-gradient(180deg,#182118ba,transparent 50%),linear-gradient(90deg,#2e160f55,transparent 30%,#b8692726 70%,#2a160e44),url('oak.svg') center/cover;border-color:#785334}
.library-upper{background:linear-gradient(#152117a0,#9c501d22),url('oak.svg') center/cover;border-bottom-color:#a07444}.library-base{border-color:#785334;background:linear-gradient(#33200b88,#9c501d22),url('oak.svg') center/cover}
.shelf-book{color:#fff0cc}.spine-title{color:#fff0cc;text-shadow:0 1px 1px #0006}.spine-number,.spine-brand{opacity:1;color:#f6e4bd}.shelf-book:first-child{color:#29392c}.album-jacket>span,.album-jacket small{color:#35402c;font-weight:600}
.page-eyebrow,.page-number,.contents-list small{color:#68604e}.contents-list button{color:#403e30}.book-hint{color:#deddd2}.book-toolbar button,.book-controls button{border-color:#babca27a;color:#fff8e7}.book-controls button:disabled{opacity:.55}
body.library-active:not(.reader-open)>header,body.library-active:not(.reader-open)>header nav,body.library-active:not(.reader-open)>header a,body.library-active:not(.reader-open)>header .brand small{color:#263c30!important;text-shadow:none!important}

/* Blend the hero photograph into its landscape without altering the source. */
.hero figure{max-width:1100px;width:100%;background:transparent;box-shadow:none;border:0}
.hero figure>img{border-radius:0;box-shadow:none;object-fit:contain;filter:none;-webkit-mask-image:linear-gradient(to right,transparent,#000 9%,#000 91%,transparent),linear-gradient(to bottom,transparent,#000 13%,#000 86%,transparent);mask-image:linear-gradient(to right,transparent,#000 9%,#000 91%,transparent),linear-gradient(to bottom,transparent,#000 13%,#000 86%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}
.hero .caption{max-width:82%;margin:4px auto 0;opacity:.9}
@media(max-width:700px){.hero figure{width:112%;max-width:none}.hero .caption{font-size:8px;letter-spacing:1px}}

/* Personal introduction replaces the hero photograph. */
.hero-introduction{width:min(780px,100%);margin:10px auto 35px;padding:45px 20px 30px;border-top:1px solid #fff6;text-align:center;color:#fff;translate:none!important}
.hero-introduction .intro-kicker{display:block;font:10px/1.6 Arial,sans-serif;letter-spacing:3px;color:#fff2d4;text-shadow:0 2px 10px #0009}
.hero-introduction h2{font:400 clamp(38px,5vw,64px)/1.12 Georgia,serif;letter-spacing:-1.5px;color:#fff;margin:22px 0 25px;text-shadow:0 3px 24px #0008}
.hero-introduction p{max-width:640px;margin:0 auto 18px;color:#fff;font-size:clamp(16px,1.7vw,20px);line-height:1.8;text-shadow:0 2px 12px #000d}
.hero-introduction p+p{font-size:clamp(15px,1.5vw,18px);color:#f7f2e7}
.intro-link{display:inline-flex;gap:20px;align-items:center;margin-top:18px;padding:10px 0;border-bottom:1px solid #fff8;color:#fff;font-size:12px;letter-spacing:1px;text-decoration:none;text-shadow:0 2px 12px #000a}
.intro-link span{transition:transform .3s}.intro-link:hover span{transform:translate(3px,-3px)}
.motion-ready .hero-introduction.reveal{opacity:1;transform:none;filter:none;transition:none}
.motion-ready .hero-introduction>*{opacity:0;transform:translateY(18px);transition:opacity .9s ease,transform 1s cubic-bezier(.2,.7,.2,1)}
.motion-ready .hero-introduction.in-view>*{opacity:1;transform:none}.hero-introduction>*:nth-child(2){transition-delay:.1s}.hero-introduction>*:nth-child(3){transition-delay:.22s}.hero-introduction>*:nth-child(4){transition-delay:.34s}.hero-introduction>*:nth-child(5){transition-delay:.46s}
@media(max-width:700px){.hero-introduction{padding:32px 8px 15px;margin-top:0}.hero-introduction h2{font-size:39px}.hero-introduction .intro-kicker{font-size:8px;letter-spacing:2px}}
@media(prefers-reduced-motion:reduce){.motion-ready .hero-introduction>*{opacity:1;transform:none;transition:none}}
