/* The portfolio continues the approved Hero; every rule is locally scoped. */
.tabu-works,.tabu-photo,.tabu-collection{
 --works-bg:#242322;--works-ink:#eee7e1;--works-muted:#d1c7c1;--works-rose:#d6a3ad;--works-action:#ac4c69;
 --works-display:'Tabu Display',Georgia,serif;--works-sans:'Tabu Sans',Arial,sans-serif;
 color:var(--works-ink);font-family:var(--works-sans);font-weight:500;
}
.tabu-works{background:var(--works-bg);padding:88px 0 96px;scroll-margin-top:20px}
.tabu-works__inner{max-width:1680px;margin:auto;padding:0 64px}
.tabu-works__heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:44px}
.tabu-works__label{margin:0 0 16px;font-size:10px;line-height:1.5;letter-spacing:2.6px;color:var(--works-rose)}
.tabu-works h2{margin:0;font:400 clamp(48px,4.7vw,68px)/1.04 var(--works-display);letter-spacing:-.025em;color:var(--works-ink)}
.tabu-works__intro{max-width:360px;margin:0 0 3px;font-size:13px;line-height:1.8;color:var(--works-muted)}
.tabu-works__grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px}
.tabu-work{min-width:0;position:relative}
.tabu-work h3{display:flex;align-items:center;gap:18px;margin:0 0 18px;font:500 12px/1.5 var(--works-sans);letter-spacing:2px;color:var(--works-ink)}
.tabu-work--design h3::after{content:"";height:1px;flex:1;background:var(--works-rose);opacity:.65}
.tabu-work--design h3{color:var(--works-rose)}
.tabu-work__stage{--work-peek:11.5%;position:relative;aspect-ratio:3/4;border:1px solid #9e858180;border-radius:2px;background:#292625;isolation:isolate;overflow:hidden}
.tabu-work__stage [hidden]{display:none!important}
.tabu-work__open{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;border:0;border-radius:0;background:transparent;color:var(--works-ink);cursor:zoom-in}
.tabu-work__visual{position:absolute;inset:0 var(--work-peek) 0 0;display:block;overflow:hidden}
.tabu-work__peek{position:absolute;inset:0 0 0 auto;display:block;width:var(--work-peek);overflow:hidden;border-left:1px solid #eee7e14d;pointer-events:none}
.tabu-work__peek img{position:absolute;inset:0 auto 0 0;display:block;width:770%;max-width:none;height:100%;object-fit:cover;opacity:.5}
.tabu-work__arrow{position:absolute;z-index:2;top:50%;display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;transform:translateY(-50%);border:0;border-radius:0;background:transparent;color:#fff9f6;cursor:pointer;isolation:isolate}
.tabu-work__arrow::before{content:"";position:absolute;z-index:-1;inset:4px;border:1px solid #d6a3adbf;border-radius:50%;background:#24232280;transition:background .2s ease,border-color .2s ease}
.tabu-work__arrow[data-prev]{left:2px}.tabu-work__arrow[data-next]{right:2px}
.tabu-work__arrow svg{width:20px;height:20px}
.tabu-work__arrow:not(:disabled):hover::before{border-color:var(--works-rose);background:#242322c7}
.tabu-work__arrow:not(:disabled):active::before{background:#ac4c6999}
.tabu-work__dots{position:absolute;z-index:2;bottom:9px;left:50%;display:block;width:calc(var(--dot-count)*10px - 3px);height:7px;transform:translateX(-50%);overflow:hidden;pointer-events:none}
.tabu-work__dots>span{display:flex;gap:5px;width:max-content;padding:1px;transition:transform .35s cubic-bezier(.16,1,.3,1)}
.tabu-work__dots i{display:block;flex:0 0 5px;width:5px;height:5px;border-radius:50%;background:#a6a09c;outline:1px solid #242322bf;outline-offset:0}
.tabu-work__dots i.is-active{background:#f2bacb}
.tabu-work__swipe{position:absolute;z-index:2;bottom:7px;left:10px;display:none;align-items:center;flex-direction:column;gap:1px;color:#f2bacb;font:500 9px/1.2 var(--works-sans);pointer-events:none}
.tabu-work__swipe svg{display:block;width:34px;height:31px}
.tabu-work__image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;opacity:0;transform:translate3d(var(--work-drag,0px),0,0) scale(var(--work-scale,1));transition:transform 160ms cubic-bezier(.16,1,.3,1)}
.tabu-work.is-dragging .tabu-work__image{transition:none;will-change:transform}
.tabu-work__drag-preview{opacity:1;pointer-events:none}
.tabu-work__image.is-visible{opacity:1}
.tabu-work__empty{position:absolute;inset:0;display:grid;place-items:center;padding:24px;border:1px solid #625751;color:var(--works-muted);text-align:center;font-size:12px;line-height:1.7;pointer-events:none}
.tabu-work[data-empty] .tabu-work__empty span{max-width:9ch;font:400 clamp(26px,2.5vw,38px)/1.1 var(--works-display);letter-spacing:-.02em;text-wrap:balance}
.tabu-work[data-empty] [data-prev],.tabu-work[data-empty] [data-next]{opacity:.35}
.tabu-work__retry{position:absolute;z-index:2;bottom:16px;left:50%;transform:translateX(-50%);min-height:44px;padding:10px 16px;border:1px solid #9e8581;background:var(--works-bg);color:var(--works-ink);font:500 11px/1.5 var(--works-sans);cursor:pointer}
.tabu-work__controls{position:relative;display:flex;align-items:center;justify-content:center;min-height:64px}
.tabu-work__progress{position:absolute;inset:auto 0 0;height:1px;overflow:hidden;background:#625751}
.tabu-work__progress>span{display:block;width:100%;height:100%;background:var(--works-rose);transform:scaleX(0);transform-origin:left}
.tabu-work[data-playback=stopped] .tabu-work__progress>span{opacity:.5}
.tabu-work__controls>button,.tabu-photo__navigation>button,.tabu-photo__close{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:10px;border:0;border-radius:0;background:transparent;color:var(--works-ink);cursor:pointer}
.tabu-work__controls>button>svg,.tabu-photo__navigation>button>svg,.tabu-photo__close>svg{display:block;width:20px;height:20px}
.tabu-work button:disabled{opacity:.35;cursor:default}
.tabu-work__controls>button:not(:disabled):hover,.tabu-photo__navigation>button:not(:disabled):hover,.tabu-photo__close:hover{color:var(--works-rose)}
.tabu-work__controls>button:not(:disabled):active{transform:scale(.92)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.tabu-work__open:hover{--work-scale:1.025}}
.tabu-work__status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.tabu-works :focus-visible,.tabu-photo :focus-visible,.tabu-collection :focus-visible{outline:2px solid #f2bacb;outline-offset:3px}
.tabu-work__open:focus-visible{outline:none;z-index:1}
.tabu-work__open:focus-visible::after{content:"";position:absolute;inset:3px;border:2px solid #f2bacb;z-index:3;pointer-events:none}
.tabu-works ::selection,.tabu-photo ::selection,.tabu-collection ::selection{background:var(--works-rose);color:var(--works-bg)}
.showcase.showcase--single{grid-template-columns:minmax(0,1fr)}

body.tabu-photo-open{overflow:hidden}
dialog.tabu-photo{position:fixed;inset:0;width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;padding:24px clamp(20px,5vw,80px);border:0;border-radius:0;background:transparent;overflow:hidden;overscroll-behavior:contain}
dialog.tabu-photo[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:20px}
.tabu-photo::backdrop{background:transparent}
.tabu-photo::before{content:"";position:fixed;inset:0;background:var(--works-bg);z-index:-1}
.tabu-photo.is-revealing::before{animation:tabu-photo-shade 260ms ease both}
.tabu-photo.is-revealing .tabu-photo__toolbar,.tabu-photo.is-revealing .tabu-photo__footer{animation:tabu-photo-ui 420ms 120ms cubic-bezier(.16,1,.3,1) both}
.tabu-photo__flight{position:fixed;top:0;left:0;z-index:3;overflow:hidden;pointer-events:none;transform-origin:0 0;will-change:transform}
.tabu-photo__flight img{display:block;max-width:none;max-height:none;transform-origin:0 0;will-change:transform}
.tabu-photo.is-expanding .tabu-photo__image{visibility:hidden}
@keyframes tabu-photo-shade{from{opacity:0}to{opacity:1}}
@keyframes tabu-photo-ui{from{opacity:0;transform:translate3d(0,6px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
.tabu-photo__toolbar{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:24px;align-items:start}
.tabu-photo__toolbar p{margin:0}
.tabu-photo__category{font-size:10px;line-height:1.5;letter-spacing:2px;color:var(--works-rose)}
.tabu-photo #tabu-photo-caption{max-width:900px;margin-top:5px;font-size:12px;line-height:1.6;color:var(--works-muted)}
.tabu-photo__stage{position:relative;display:grid;place-items:center;min-height:0;min-width:0;overflow:hidden}
.tabu-photo__stage{cursor:zoom-out}
.tabu-photo__image{display:block;grid-area:1/1;width:100%;height:100%;min-height:0;min-width:0;object-fit:contain;opacity:0}
.tabu-photo__image.is-ready{opacity:1}
.tabu-photo__loading{position:absolute;inset:0;display:grid;place-items:center;padding:24px;margin:0;color:var(--works-muted);font-size:13px;text-align:center;line-height:1.6}
.tabu-photo__loading[hidden]{display:none}
.tabu-photo__footer{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 24px;margin:0;padding:0;max-width:none;border:0;background:none}
.tabu-photo__navigation{display:flex;align-items:center;gap:16px;justify-self:start}
.tabu-photo__navigation button:disabled{opacity:.35;cursor:default}
.tabu-photo__count{min-width:42px;text-align:center;font-size:12px;line-height:1.5;font-variant-numeric:tabular-nums}
.tabu-photo__book{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:52px;min-width:310px;padding:14px 23px;border:0;border-radius:1px;background:var(--works-action);color:#fff9f6;font:500 11px/1.5 var(--works-sans);letter-spacing:.7px;cursor:pointer}
.tabu-photo__book:disabled{opacity:.6;cursor:wait}
.tabu-photo__book:hover{background:#b05270}
.tabu-photo__book:active{background:#99415d}
.tabu-photo__book>svg{width:20px;height:20px;flex-shrink:0}
.tabu-photo__hint{grid-column:1/-1;margin:0;color:var(--works-muted);font-size:11px;line-height:1.7;display:flex;align-items:center;justify-content:flex-end;gap:20px}
.tabu-photo__hint a{display:inline-flex;align-items:center;min-height:44px;color:var(--works-rose);text-underline-offset:4px}
.tabu-photo__hint a:hover{text-decoration:underline}
.tabu-photo__message{grid-column:1/-1;margin:0;color:var(--works-ink);font-size:12px;line-height:1.6}
.tabu-photo__message:empty{display:none}

@media(max-width:1099px){
 .tabu-works__inner{padding-inline:40px}
 .tabu-works__heading{align-items:start;gap:24px}
 .tabu-works__intro{max-width:300px}
 .tabu-works__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px}
 .tabu-work__swipe{display:flex}
}
@media(max-width:600px){
 .tabu-works{padding:36px 0 40px}
 .tabu-works__inner{padding-inline:22px}
 .tabu-works__heading{display:block;margin-bottom:26px}
 .tabu-works__label{margin-bottom:12px;font-size:10px;letter-spacing:2px}
 .tabu-works h2{font-size:clamp(38px,10.5vw,44px);line-height:1.05;letter-spacing:-.025em}
 .tabu-works__intro{max-width:360px;margin:15px 0 0;font-size:12px;line-height:1.7}
 .tabu-works__grid{gap:22px 12px}
 .tabu-work h3{margin-bottom:10px;font-size:10px;line-height:1.6;letter-spacing:1.2px}
 .tabu-work__stage{aspect-ratio:31/32}
 .tabu-work:first-child .tabu-work__dots{left:60%}
 .tabu-work__arrow::before{inset:8px}
 .tabu-work__arrow svg{width:17px;height:17px}
 .tabu-work__empty{padding:14px 10px;font-size:11px;line-height:1.6}
 .tabu-work[data-empty] .tabu-work__empty span{font-size:24px;line-height:1.12}
 .tabu-work__controls{min-height:44px}
 dialog.tabu-photo{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}
 dialog.tabu-photo[open]{gap:12px}
 .tabu-photo__toolbar{gap:12px}
 .tabu-photo #tabu-photo-caption{font-size:11px;line-height:1.5}
 .tabu-photo__footer{grid-template-columns:minmax(0,1fr);gap:8px}
 .tabu-photo__navigation{justify-self:center;gap:18px}
 .tabu-photo__book{width:100%;min-width:0;min-height:52px;padding-inline:20px}
 .tabu-photo__hint{display:block;text-align:center;font-size:10px;line-height:1.5}
 .tabu-photo__hint a{justify-content:center;display:flex;min-height:44px}
 .tabu-photo__message{font-size:11px}
}
@media(max-width:359px){
 .tabu-works__inner{padding-inline:18px}
 .tabu-works{padding-top:32px}
 .tabu-works h2{font-size:38px}
 .tabu-work h3{font-size:10px;letter-spacing:1px}
 .tabu-work[data-empty] .tabu-work__empty span{font-size:21px}
}
@media(prefers-reduced-motion:reduce){
 .tabu-work__image,.tabu-work__visual,.tabu-work__dots>span,.tabu-work__arrow::before,.tabu-work__controls>button,.tabu-photo__image{transition:none}
 .tabu-photo.is-revealing::before,.tabu-photo.is-revealing .tabu-photo__toolbar,.tabu-photo.is-revealing .tabu-photo__footer{animation:none}
}
@media(forced-colors:active){
 .tabu-work__empty,.tabu-work__stage,.tabu-work__arrow::before,.tabu-work__controls{border-color:CanvasText}
 .tabu-work__dots i{background:CanvasText;outline-color:CanvasText}.tabu-work__dots i.is-active{background:Highlight}
 .tabu-work button,.tabu-photo button{forced-color-adjust:auto}
}

/* Browse the whole portfolio without leaving the site. */
.tabu-work__controls>[data-more]{flex:1;min-width:44px;padding:4px 2px;font:500 11px/1.45 var(--works-sans);color:var(--works-rose);text-align:center}
.tabu-works__aside{max-width:360px}
.tabu-works__pause{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:6px;padding:6px 0;border:0;background:none;color:var(--works-muted);font:500 11px/1.4 var(--works-sans);cursor:pointer}
.tabu-works__pause svg{width:12px;height:12px}
.tabu-works__pause:hover{color:var(--works-rose)}
.tabu-works__pause:disabled{opacity:.65;cursor:default}
body.tabu-collection-open{overflow:hidden}
dialog.tabu-collection{position:fixed;inset:0;width:min(1280px,calc(100% - 48px));height:calc(100vh - 48px);height:min(900px,calc(100dvh - 48px));max-width:none;max-height:none;margin:auto;padding:24px 28px;border:0;border-radius:0;background:var(--works-bg);overflow:hidden;overscroll-behavior:contain}
dialog.tabu-collection[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:20px;animation:tabu-collection-enter 280ms cubic-bezier(.16,1,.3,1)}
.tabu-collection::backdrop{background:#11100fcc}
.tabu-collection__header{display:flex;align-items:center;justify-content:space-between;gap:20px}
.tabu-collection h2{margin:0;font:400 48px/1.1 var(--works-display);letter-spacing:-.025em}
.tabu-collection__close{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;padding:10px;border:0;border-radius:0;background:transparent;color:var(--works-ink);cursor:pointer}
.tabu-collection__close svg{width:22px;height:22px}
.tabu-collection__close:hover{color:var(--works-rose)}
.tabu-collection__scroll{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--works-rose) var(--works-bg)}
.tabu-collection__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:3px}
.tabu-collection__work{position:relative;display:block;min-width:0;width:100%;aspect-ratio:4/5;overflow:hidden;padding:0;border:0;border-radius:0;background:#292625;color:var(--works-ink);cursor:zoom-in}
.tabu-collection__work img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.tabu-collection__work img[hidden]{display:none}
.tabu-collection__work.is-error{display:grid;place-items:center;padding:16px;font:500 12px/1.6 var(--works-sans)}
.tabu-collection__work:focus-visible{outline-offset:-4px}
.tabu-collection__footer{margin:0;padding:16px 0 0;border:0;border-top:1px solid #625751;background:transparent;display:flex;justify-content:flex-end}
.tabu-collection__footer[hidden]{display:none}
.tabu-collection__instagram{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;min-height:52px;padding:14px 22px;background:var(--works-action);color:#fff9f6;font:500 11px/1.5 var(--works-sans);text-decoration:none}
.tabu-collection__instagram>span:last-child{display:inline-flex;align-items:center;gap:8px}
.tabu-collection__instagram svg{width:14px;height:14px}
.tabu-collection__instagram:hover{background:#b05270}
@keyframes tabu-collection-enter{from{opacity:0;transform:translate3d(0,8px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.tabu-collection__work:hover img{transform:scale(1.025)}}
@media(max-width:999px){.tabu-collection__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){
 .tabu-works__aside{max-width:none}
 dialog.tabu-collection{width:100%;height:100vh;height:100dvh;margin:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom))}
 dialog.tabu-collection[open]{gap:12px}
 .tabu-collection h2{font-size:34px}
 .tabu-collection__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .tabu-collection__footer{padding-top:12px}
 .tabu-collection__instagram{width:100%;padding-inline:16px;gap:12px}
}
@media(max-width:359px){.tabu-work__controls>[data-more]{font-size:10px}}
@media(prefers-reduced-motion:reduce){dialog.tabu-collection[open]{animation:none}.tabu-collection__work img{transition:none}}
