@font-face{font-family:'Bowlby One';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/bowlby-one-400-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Anton';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/anton-400-normal-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Anton';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/anton-400-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/instrument-serif-400-italic-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/instrument-serif-400-italic-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/instrument-serif-400-normal-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/instrument-serif-400-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/space-mono-400-normal-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/space-mono-400-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/space-mono-700-normal-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/space-mono-700-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

:root{

  --paper:#F2ECE2;
  --paper2:#E7DECC;
  --ink:#18130D;
  --tang:#F14A00;
  --teal:#0E7C86;
  --dark:#151009;

  --fd:'Anton',Impact,sans-serif;
  --fs:'Instrument Serif',Georgia,serif;
  --fm:'Space Mono',ui-monospace,monospace;

  --bw:3px;
  --bw2:6px;
  --r:0px;

  --e:cubic-bezier(.19,1,.22,1);
  --kb-dur:16s;
  --marq-dur:26s;
  --shut:340ms;

  --hh:64px;
  --pad:clamp(16px,4vw,64px);
  --gap:clamp(14px,2.4vw,36px);
  --grain-op:.13;
}
*{margin:0;padding:0;box-sizing:border-box;border-radius:var(--r)}
html{scroll-behavior:auto}
body{background:var(--paper);color:var(--ink);font-family:var(--fm);font-size:15px;line-height:1.55;overflow-x:hidden}
img{display:block;max-width:100%;-webkit-user-drag:none;user-select:none}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul,ol{list-style:none}
::selection{background:var(--tang);color:var(--paper)}
a:focus-visible,button:focus-visible{outline:3px solid var(--tang);outline-offset:3px}
.mono{font-family:var(--fm)}
.serif{font-family:var(--fs);font-style:italic}

#topbar{position:fixed;inset:0 0 auto 0;height:var(--hh);z-index:50;display:flex;align-items:center;gap:20px;
  padding:0 var(--pad);background:var(--paper);border-bottom:var(--bw2) solid var(--ink);transition:background .3s,color .3s,border-color .3s}
.brand{font-family:var(--fd);font-size:24px;letter-spacing:.02em;text-transform:uppercase}
.brand i{font-style:normal;color:var(--tang)}
#topbar nav{display:flex;gap:6px;margin-left:auto;overflow-x:auto;scrollbar-width:none}
#topbar nav::-webkit-scrollbar{display:none}
#topbar nav a{font-family:var(--fm);font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:8px 12px;white-space:nowrap;transition:background .2s,color .2s}
#topbar nav a:hover{background:var(--tang);color:var(--paper)}
#topbar nav a.on{background:var(--ink);color:var(--paper)}
#baliClock{font-size:11px;letter-spacing:.12em;border:var(--bw) solid currentColor;padding:6px 10px;white-space:nowrap}
body[data-page="history"] #topbar{background:var(--dark);color:var(--paper);border-bottom-color:var(--tang)}
body[data-page="history"] #topbar nav a.on{background:var(--tang);color:var(--ink)}
body[data-page="booking"] #topbar{background:var(--tang);color:var(--ink);border-bottom-color:var(--ink)}
body[data-page="booking"] #topbar nav a.on{background:var(--ink);color:var(--tang)}
body[data-page="booking"] .brand i{color:var(--paper)}

#fcount{position:fixed;left:var(--pad);bottom:16px;z-index:60;background:var(--ink);color:var(--paper);
  font-size:11px;letter-spacing:.14em;padding:8px 12px;pointer-events:none}
body[data-page="history"] #fcount{background:var(--paper);color:var(--ink)}
body[data-page="booking"] #fcount{background:var(--ink);color:var(--tang)}

#grain{position:fixed;inset:-120px;z-index:80;pointer-events:none;opacity:var(--grain-op);
  animation:grain 1.1s steps(4) infinite}
@keyframes grain{
  0%{transform:translate(0,0)}25%{transform:translate(-40px,30px)}
  50%{transform:translate(30px,-50px)}75%{transform:translate(-30px,-20px)}100%{transform:translate(0,0)}}

#cursor{position:fixed;left:0;top:0;z-index:90;pointer-events:none;width:34px;height:34px;margin:-17px 0 0 -17px;mix-blend-mode:difference;transition:width .25s var(--e),height .25s var(--e),margin .25s var(--e)}
#cursor i{position:absolute;width:11px;height:11px;border:0 solid #fff;transition:inherit}
#cursor .k1{left:0;top:0;border-left-width:3px;border-top-width:3px}
#cursor .k2{right:0;top:0;border-right-width:3px;border-top-width:3px}
#cursor .k3{left:0;bottom:0;border-left-width:3px;border-bottom-width:3px}
#cursor .k4{right:0;bottom:0;border-right-width:3px;border-bottom-width:3px}
#cursor b{position:absolute;left:50%;top:50%;width:4px;height:4px;margin:-2px;background:#fff}
#cursor .lab{position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%);font:10px var(--fm);letter-spacing:.2em;color:#fff;opacity:0;white-space:nowrap;transition:opacity .2s}
#cursor.big{width:62px;height:62px;margin:-31px 0 0 -31px}
#cursor.big .lab{opacity:1}
@media (hover:none),(pointer:coarse){#cursor{display:none}body,a,button{cursor:auto!important}}
@media (hover:hover) and (pointer:fine){body[data-page],body[data-page] a,body[data-page] button{cursor:none}}

#shutter{position:fixed;inset:0;z-index:100;display:grid;grid-template-rows:repeat(4,1fr);pointer-events:none;visibility:hidden}
#shutter.go{visibility:visible}
#shutter i{background:var(--ink);transform:scaleY(0);transform-origin:top;transition:transform var(--shut) var(--e)}
#shutter i:nth-child(2){transition-delay:60ms}#shutter i:nth-child(3){transition-delay:120ms}#shutter i:nth-child(4){transition-delay:180ms}
#shutter.in i{transform:scaleY(1)}
#shutter.out i{transform:scaleY(0);transform-origin:bottom}
html.sh #shutter{visibility:visible}
html.sh #shutter i{transform:scaleY(1);transition:none}
html.sh .page.on{animation:none}
#shTitle{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--fd);font-size:clamp(40px,9vw,140px);color:var(--paper);letter-spacing:.04em;opacity:0;transition:opacity .2s}
#shutter.in #shTitle{opacity:1;transition-delay:.2s}
#shutter.out #shTitle{opacity:0;transition-delay:0s}

.page{display:none;min-height:100vh;min-height:100dvh;padding:calc(var(--hh) + 5vh) var(--pad) 90px}
.page.on{display:block;animation:pageIn .55s var(--e)}
@keyframes pageIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
#page-history{background:var(--dark);color:var(--paper)}
#page-booking{background:var(--tang);color:var(--ink)}

[data-rv]{opacity:0;transform:translateY(26px);transition:opacity .8s var(--e),transform .8s var(--e)}
[data-rv].in{opacity:1;transform:none}

.cover-meta{display:flex;flex-wrap:wrap;gap:10px 26px;font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.cover-meta span::before{content:"";display:inline-block;width:10px;height:10px;background:var(--tang);margin-right:10px;vertical-align:1px}
.masthead{font-family:var(--fd);text-transform:uppercase;line-height:.86;font-size:clamp(64px,14.5vw,216px);letter-spacing:.005em;margin:4vh 0 3vh}
.masthead .ln{display:block;overflow:hidden;padding:.02em 0}
.masthead .ln>span{display:inline-block;transform:translateY(115%);transition:transform 1s var(--e)}
.masthead.in .ln:nth-child(1)>span{transition-delay:.05s}
.masthead.in .ln:nth-child(2)>span{transition-delay:.15s}
.masthead.in .ln:nth-child(3)>span{transition-delay:.25s}
.masthead.in .ln>span{transform:none}
.masthead .out>span{color:transparent;-webkit-text-stroke:3px var(--ink)}
.masthead .photo>span{color:transparent;background-size:cover;background-position:50% 30%;-webkit-background-clip:text;background-clip:text}
.masthead .inter{font-family:var(--fs);font-style:italic;text-transform:lowercase;color:var(--tang);-webkit-text-stroke:0;font-size:.32em;letter-spacing:0;vertical-align:.5em;margin-left:.25em}
.cover-grid{display:grid;grid-template-columns:1.45fr .55fr;gap:var(--gap);align-items:start;margin-bottom:6vh}
.bigframe .ph{overflow:hidden;background:var(--ink)}
.bigframe img{width:100%;aspect-ratio:16/9;object-fit:cover;animation:kb var(--kb-dur) ease-in-out infinite alternate}
@keyframes kb{from{transform:scale(1.02)}to{transform:scale(1.12) translate(-2%,2%)}}
.bigframe .cap{display:flex;justify-content:space-between;gap:12px;background:var(--ink);color:var(--paper);padding:10px 14px;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.bigframe .cap b{color:var(--tang)}
.cover-note{border-left:var(--bw2) solid var(--tang);padding-left:22px}
.cover-note .serif{font-size:clamp(22px,2.2vw,30px);line-height:1.25}
.cover-note p.mono{font-size:12px;margin-top:16px;letter-spacing:.04em}
.stamp{display:inline-block;margin-top:26px;border:var(--bw2) solid var(--ink);padding:10px 16px;font-size:11px;letter-spacing:.18em;transform:rotate(-3deg)}
.marq{overflow:hidden;border-block:var(--bw2) solid var(--ink)}
.marq .row{display:flex;width:max-content;animation:marq var(--marq-dur) linear infinite}
.marq span{font-family:var(--fd);font-size:clamp(28px,4.4vw,58px);text-transform:uppercase;padding:14px 0;white-space:nowrap}
.marq span::after{content:"\00B7";margin:0 .6em;color:inherit}
.marq.m1{background:var(--tang);color:var(--ink)}
.marq.m2{background:var(--teal);color:var(--paper)}
.marq.m2 .row{animation-direction:reverse}
.marq.m2 span{font-family:var(--fm);font-size:clamp(12px,1.4vw,16px);letter-spacing:.3em;padding:10px 0}
@keyframes marq{to{transform:translateX(-50%)}}
.sheet-head{display:flex;justify-content:space-between;align-items:baseline;margin:6vh 0 8px;font-size:11px;letter-spacing:.18em;text-transform:uppercase}
.sheet-head .serif{font-size:20px;letter-spacing:0;text-transform:none}
#sheet{display:flex;gap:16px;overflow-x:auto;padding:20px 4px 30px;scroll-snap-type:x proximity;scrollbar-width:thin}
.fcell{flex:0 0 250px;scroll-snap-align:start;background:var(--ink);color:var(--paper);padding:12px 12px 14px;transition:transform .35s var(--e)}
.fcell:hover{transform:translateY(-6px) rotate(-1.6deg)}
.fcell::before{content:"";display:block;height:12px;margin-bottom:10px;opacity:.85;
  background:repeating-linear-gradient(90deg,transparent 0 7px,var(--paper) 7px 15px,transparent 15px 22px)}
.fcell img{width:100%;height:160px;object-fit:cover;filter:saturate(.95) contrast(1.03)}
.fcell figcaption{display:flex;justify-content:space-between;margin-top:10px;font-size:10px;letter-spacing:.16em}
.fcell figcaption b{color:var(--tang)}
.cover-foot{margin-top:5vh;display:flex;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:.18em;text-transform:uppercase}
.cover-foot .arr{font-family:var(--fd);font-size:20px;animation:bob 1.6s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(6px)}}

.page-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:18px;margin-bottom:4vh}
.h2{font-family:var(--fd);text-transform:uppercase;line-height:.9;font-size:clamp(48px,9vw,150px)}
.h2 em{font-style:normal;color:var(--tang)}
.page-head .serif{font-size:clamp(20px,2.4vw,32px);max-width:22ch}
.filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 5vh}
.fbtn{font-size:12px;letter-spacing:.14em;text-transform:uppercase;border:var(--bw) solid var(--ink);padding:10px 16px;transition:background .2s,color .2s,transform .2s}
.fbtn:hover{background:var(--tang);border-color:var(--tang);color:var(--paper);transform:translateY(-2px)}
.fbtn.on{background:var(--ink);color:var(--paper)}
#ggrid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gap)}
.g{transition:opacity .3s}
.g.hide{display:none}
.s3{grid-column:span 3}.s4{grid-column:span 4}.s5{grid-column:span 5}.s6{grid-column:span 6}.s7{grid-column:span 7}.s8{grid-column:span 8}.s12{grid-column:span 12}
.off{margin-top:clamp(24px,6vw,90px)}
.g .ph{overflow:hidden;background:var(--ink)}
.g img{width:100%;height:100%;object-fit:cover;transform:scale(1.03);transition:transform 1.1s var(--e),clip-path 1s var(--e);clip-path:inset(100% 0 0 0)}
.g.in img{clip-path:inset(0 0 0 0)}
.g:hover img{transform:scale(1.09)}
.a45 .ph{aspect-ratio:4/5}.a34 .ph{aspect-ratio:3/4}.a1610 .ph{aspect-ratio:16/10}.a11 .ph{aspect-ratio:1/1}
.g .cap{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--ink);color:var(--paper);padding:10px 14px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;transition:background .25s,color .25s}
.g .cap::before{content:"";width:10px;height:10px;background:var(--tang);flex:0 0 auto;order:3}
.g:hover .cap{background:var(--tang);color:var(--ink)}
.g:hover .cap::before{background:var(--ink)}
.frames-foot{margin-top:7vh;font-family:var(--fs);font-style:italic;font-size:clamp(20px,2.6vw,34px);max-width:30ch}
.frames-foot b{color:var(--tang);font-weight:400}

#page-history .h2 em{color:var(--tang)}
.motion-intro{font-family:var(--fs);font-style:italic;font-size:clamp(20px,2.4vw,32px);max-width:26ch}
#creds{margin:5vh 0 7vh;border-bottom:var(--bw) solid var(--paper)}
.cred{display:grid;grid-template-columns:70px 110px 1fr auto;gap:18px;align-items:center;padding:20px 10px;border-top:var(--bw) solid var(--paper);transition:background .2s,color .2s}
.cred .idx{font-family:var(--fd);font-size:26px;color:var(--tang)}
.cred .yrs{font-size:12px;letter-spacing:.1em}
.cred .who{font-family:var(--fd);font-size:clamp(20px,2.6vw,34px);text-transform:uppercase;line-height:1}
.cred .role{font-size:11px;letter-spacing:.12em;text-transform:uppercase;opacity:.75;text-align:right}
.cred:hover{background:var(--tang);color:var(--ink)}
.cred:hover .idx{color:var(--ink)}
#peek{position:fixed;left:0;top:0;z-index:70;width:min(300px,40vw);aspect-ratio:3/2;overflow:hidden;pointer-events:none;opacity:0;transform:translate(-50%,-60%) rotate(3deg) scale(.8);transition:opacity .25s,scale .25s;border:var(--bw2) solid var(--paper);background:var(--dark)}
#peek.on{opacity:1}
#peek img{width:100%;height:100%;object-fit:cover}
.bench{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin:2vh 0 6vh}
.bench .bt{font-size:11px;letter-spacing:.2em;margin-right:12px}
.stampd{display:inline-block;border:var(--bw2) solid currentColor;padding:12px 18px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;transform:rotate(-2deg);transition:background .2s,color .2s,transform .2s}
.stampd:nth-child(even){transform:rotate(1.6deg)}
.stampd:hover{background:var(--paper);color:var(--ink);transform:rotate(0)}
.reel{border:var(--bw2) solid var(--tang);padding:clamp(20px,3vw,44px);display:flex;flex-wrap:wrap;gap:22px;align-items:center;justify-content:space-between}
.reel .serif{font-size:clamp(22px,2.6vw,36px)}
.reel a{font-family:var(--fd);font-size:clamp(18px,2vw,26px);text-transform:uppercase;background:var(--tang);color:var(--ink);padding:14px 22px;transition:transform .2s}
.reel a:hover{transform:translate(-4px,-4px);box-shadow:6px 6px 0 var(--paper)}

.op-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--gap)}
.op-left{position:sticky;top:calc(var(--hh) + 24px);align-self:start}
.portrait{position:relative;background:var(--ink);padding:14px 14px 0;transform:rotate(-1.4deg)}
.portrait::before,.portrait::after{content:"";position:absolute;width:90px;height:26px;background:var(--tang);opacity:.9}
.portrait::before{top:-13px;left:24px;transform:rotate(-6deg)}
.portrait::after{top:-13px;right:24px;transform:rotate(5deg)}
.portrait img{width:100%;aspect-ratio:4/5;object-fit:cover}
.portrait figcaption{color:var(--paper);font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:12px 4px}
.op-lead{font-family:var(--fs);font-style:italic;font-size:clamp(22px,2.6vw,36px);line-height:1.3;margin:3vh 0}
.op-lead b{color:var(--tang);font-weight:400}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);margin:5vh 0}
.stat{border:var(--bw2) solid var(--ink);padding:20px}
.stat b{display:block;font-family:var(--fd);font-size:clamp(34px,4.4vw,60px);line-height:1;color:var(--tang)}
.stat span{font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.blk-h{font-family:var(--fd);font-size:clamp(22px,2.6vw,34px);text-transform:uppercase;margin:5vh 0 14px}
.blk-h::after{content:"";display:block;width:70px;height:var(--bw2);background:var(--tang);margin-top:8px}
.tl li{display:grid;grid-template-columns:110px 1fr auto;gap:14px;align-items:baseline;padding:14px 4px;border-top:var(--bw) solid var(--ink)}
.tl li:last-child{border-bottom:var(--bw) solid var(--ink)}
.tl .y{font-family:var(--fd);font-size:18px;color:var(--tang)}
.tl .w{font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.tl .r{font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:.7;text-align:right}
.edu p{font-size:13px;letter-spacing:.05em;text-transform:uppercase;padding:12px 0;border-top:var(--bw) solid var(--ink)}
.edu p:first-of-type{border-top:0}
.edu .serif{font-size:16px;text-transform:none;letter-spacing:0;opacity:.75}

.book-h{font-family:var(--fd);text-transform:uppercase;line-height:.88;font-size:clamp(52px,10.5vw,170px)}
.book-h .ln{display:block;overflow:hidden}
.book-h .ln>span{display:inline-block;transform:translateY(115%);transition:transform .9s var(--e)}
.book-h.in .ln:nth-child(2)>span{transition-delay:.12s}
.book-h.in .ln>span{transform:none}
.book-h .hollow>span{color:transparent;-webkit-text-stroke:3px var(--ink)}
.book-serif{font-family:var(--fs);font-style:italic;font-size:clamp(20px,2.4vw,32px);margin:3vh 0 6vh}
.mail{display:inline-block;font-family:var(--fd);font-size:clamp(24px,5vw,72px);text-transform:uppercase;border-bottom:var(--bw2) solid var(--ink);padding-bottom:6px;margin-bottom:6vh;word-break:break-all}
.mail:hover{background:var(--ink);color:var(--tang)}
.brow{display:flex;justify-content:space-between;gap:16px;align-items:baseline;border-top:var(--bw2) solid var(--ink);padding:18px 4px;font-size:clamp(13px,1.5vw,17px);letter-spacing:.1em;text-transform:uppercase;transition:padding-left .25s var(--e)}
.brow:last-of-type{border-bottom:var(--bw2) solid var(--ink)}
.brow:hover{padding-left:22px}
.brow b{font-weight:400}
.brow .arr{font-family:var(--fd);transition:transform .25s}
.brow:hover .arr{transform:translate(6px,-6px)}
.colophon{margin-top:9vh;display:flex;flex-wrap:wrap;gap:12px 40px;justify-content:space-between;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.watermark{font-family:var(--fd);font-size:clamp(90px,22vw,340px);line-height:.8;text-align:center;color:transparent;-webkit-text-stroke:3px var(--ink);opacity:.25;margin-top:6vh;user-select:none}

#lb{position:fixed;inset:0;z-index:120;background:rgba(21,16,9,.95);display:none;place-items:center;padding:5vh 5vw}
#lb.on{display:grid}
#lb figure{max-width:min(1000px,90vw)}
#lb .lbph{border:var(--bw2) solid var(--paper);background:var(--ink)}
#lbImg{max-height:72vh;width:auto;max-width:100%;margin:auto;object-fit:contain}
#lbCap{display:flex;justify-content:space-between;gap:14px;background:var(--paper);color:var(--ink);padding:10px 14px;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
#lbX{position:fixed;top:18px;right:18px;background:var(--tang);color:var(--ink);font-family:var(--fd);font-size:18px;padding:12px 18px;text-transform:uppercase}
#lbP,#lbN{position:fixed;top:50%;transform:translateY(-50%);font-family:var(--fd);font-size:34px;color:var(--paper);padding:16px}
#lbP{left:8px}#lbN{right:8px}
#lbP:hover,#lbN:hover{color:var(--tang)}
#lbCount{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);color:var(--paper);font-size:11px;letter-spacing:.2em}

@media (max-width:960px){
  .cover-grid,.op-grid{grid-template-columns:1fr}
  .op-left{position:static;max-width:440px}
  .s3,.s4,.s5{grid-column:span 6}.s6,.s7,.s8,.s12{grid-column:span 12}
  .cred{grid-template-columns:50px 1fr;grid-template-rows:auto auto}
  .cred .yrs{display:none}.cred .role{grid-column:2;text-align:left}
  #peek{display:none}
}
@media (max-width:640px){
  #baliClock{display:none}
  .s3,.s4,.s5{grid-column:span 12}
  .stats{grid-template-columns:1fr}
  .tl li{grid-template-columns:80px 1fr}
  .tl .r{grid-column:2;text-align:left}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  [data-rv],.masthead .ln>span,.book-h .ln>span{opacity:1!important;transform:none!important}
  .g img{clip-path:none!important}
}

:root{--fposter:'Bowlby One',var(--fd),sans-serif}
.masthead.mh{margin:2vh 0 6vh;line-height:.84}
.masthead.mh .ln{overflow:visible;display:flex;align-items:flex-end;gap:.28em;flex-wrap:wrap}
.masthead.mh .pop{
  font-family:var(--fposter);
  font-size:clamp(54px,12.5vw,178px);
  text-transform:uppercase;
  letter-spacing:-.012em;
  color:var(--tang);
  -webkit-text-stroke:.022em var(--ink);
  paint-order:stroke fill;
  text-shadow:
    0.008em 0.008em 0 var(--ink), 0.016em 0.016em 0 var(--ink), 0.024em 0.024em 0 var(--ink),
    0.032em 0.032em 0 var(--ink), 0.040em 0.040em 0 var(--ink), 0.048em 0.048em 0 var(--ink),
    0.056em 0.056em 0 var(--ink), 0.064em 0.064em 0 var(--ink), 0.072em 0.072em 0 var(--ink),
    0.080em 0.080em 0 var(--ink), 0.088em 0.088em 0 var(--ink), 0.096em 0.096em 0 var(--ink),
    0.104em 0.104em 0 var(--ink), 0.112em 0.112em 0 var(--ink), 0.120em 0.120em 0 var(--ink),
    0.128em 0.128em 0 var(--ink), 0.136em 0.136em 0 var(--ink), 0.144em 0.144em 0 var(--ink);
  transform:translateY(0)}
.masthead.mh .ln:nth-child(2){margin-top:.06em;padding-left:.14em}
.masthead.mh .tag{font-family:var(--fm);font-size:clamp(10px,1.1vw,13px);letter-spacing:.28em;
  text-transform:uppercase;color:var(--ink);border:var(--bw) solid var(--ink);padding:6px 10px;
  margin-bottom:.9em;white-space:nowrap}
.masthead.mh .inter{font-family:var(--fs);font-style:italic;font-size:clamp(20px,2.6vw,40px);
  color:var(--tang);margin-bottom:.55em;text-transform:none;letter-spacing:0}
@media (max-width:640px){
  .masthead.mh .ln{gap:.18em}
  .masthead.mh .ln:nth-child(2){padding-left:0}
}

.madeby{margin-top:26px;padding-top:20px;border-top:var(--bw) solid var(--ink);
  display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 18px;
  font-family:var(--fm);font-size:11px;letter-spacing:.13em;text-transform:uppercase}
.madeby .by a{border-bottom:var(--bw) solid var(--ink);padding-bottom:2px}
.madeby .by a:hover{background:var(--ink);color:var(--tang);border-color:var(--ink)}
.madeby .also{opacity:.55}
.madeby .links{display:flex;flex-wrap:wrap;gap:8px}
.madeby .links a{border:var(--bw) solid var(--ink);padding:7px 11px;text-transform:none;letter-spacing:.06em;
  transition:background .2s,color .2s}
.madeby .links a:hover{background:var(--ink);color:var(--tang)}
@media (max-width:640px){.madeby .links{gap:6px}.madeby .links a{padding:6px 9px;font-size:10px}}

.cap-gambar{display:none}

#topbar nav a .pop-kecil{font-family:var(--fposter);font-weight:400;font-size:1.32em;
  letter-spacing:.02em;color:var(--tang);text-transform:uppercase;
  -webkit-text-stroke:.014em var(--ink);paint-order:stroke fill;
  text-shadow:.012em .012em 0 var(--ink),.024em .024em 0 var(--ink),.036em .036em 0 var(--ink);
  vertical-align:-.06em;margin-left:.15em}
body[data-page="history"] #topbar nav a .pop-kecil,
body[data-page="album"] #topbar nav a .pop-kecil{-webkit-text-stroke-color:var(--paper);
  text-shadow:.012em .012em 0 var(--paper),.024em .024em 0 var(--paper),.036em .036em 0 var(--paper)}
#topbar nav a.on .pop-kecil{color:var(--paper);-webkit-text-stroke-color:var(--ink);
  text-shadow:.012em .012em 0 var(--ink),.024em .024em 0 var(--ink),.036em .036em 0 var(--ink)}

#cursor{z-index:2147483000 !important;will-change:transform;isolation:isolate}
#vf,#lb{z-index:2147482000}

[data-lb]{cursor:pointer}
@media (hover:hover) and (pointer:fine){[data-lb]{cursor:none}}
.bigframe .ph,.portrait{overflow:hidden}
.portrait img{transition:transform 1.1s var(--e)}
.portrait:hover img{transform:scale(1.04)}

.g.baru .cap b::before,.fcell.baru figcaption b::before{content:"+ ";color:var(--tang)}

.op-extra{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);margin-top:var(--gap)}
.op-extra .g .cap{display:none}
@media (max-width:640px){.op-extra{grid-template-columns:1fr}}

#lbImg{max-height:72vh;max-height:72dvh}
#lb{padding:5vh 5vw;padding:5dvh 5vw}
@media (max-width:720px){

  #lbX{top:12px;right:12px;padding:14px 18px;font-size:16px}
  #lbP,#lbN{top:auto;bottom:52px;transform:none;font-size:30px;padding:14px 20px;
    background:rgba(21,16,9,.75);border:var(--bw) solid var(--paper)}
  #lbP{left:12px}
  #lbN{right:12px}
  #lbCount{bottom:20px}
  #lbImg{max-height:60vh;max-height:60dvh}

  .fcell{flex:0 0 72vw}
  .fcell img{height:44vw}
}

@media (max-width:720px){
  #topbar{gap:12px}
  #topbar nav{gap:0;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;
    -webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 20px),transparent 100%);
    mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 20px),transparent 100%)}
  #topbar nav a{padding:14px 10px;letter-spacing:.07em;scroll-snap-align:end}
  .brand{font-size:20px}
}

@media (max-width:480px){
  #baliClock{display:none}
  #topbar nav{-webkit-mask-image:none;mask-image:none}
}
