:root{--paper:#f3f0e9;--paper-deep:#e9e4da;--ink:#20201d;--muted:#77756d;--line:#d6d0c5;--accent:#9a7655;--serif:"Libre Baskerville",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;font-size:15px;line-height:1.6}a{color:inherit;text-decoration:none}::selection{background:var(--ink);color:var(--paper)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{z-index:10;border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent);background:color-mix(in srgb,var(--paper) 89%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);align-items:center;height:78px;padding:0 5vw;display:flex;position:sticky;top:0}.wordmark{letter-spacing:-.04em;align-items:center;gap:10px;font-size:16px;font-weight:600;display:flex}.wordmark-mark{border:1px solid var(--ink);width:29px;height:29px;font-family:var(--serif);border-radius:50%;place-items:center;font-size:14px;font-style:italic;font-weight:400;display:grid}.wordmark-dot{color:var(--accent)}.desktop-nav{gap:30px;margin:auto;display:flex}.nav-link,.header-note{color:var(--muted);font-size:12px;transition:color .3s;position:relative}.nav-link:hover,.nav-link.active,.header-note:hover{color:var(--ink)}.nav-link.active:after{content:"";background:var(--accent);height:1px;position:absolute;bottom:-9px;left:0;right:0}.header-note{color:var(--ink);letter-spacing:.05em;text-transform:uppercase;font-size:11px}.header-note span,.text-link span,.email-link span{color:var(--accent);transition:transform .3s;display:inline-block}.header-note:hover span,.text-link:hover span,.email-link:hover span{transform:translate(3px,-3px)}.menu-toggle,.mobile-nav{display:none}.section-shell{width:min(1180px,90vw);margin:0 auto}.hero{grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);align-items:center;gap:7vw;min-height:calc(100vh - 78px);padding:70px 0 100px;display:grid}.eyebrow,.section-label,.card-meta,.manifesto-label,.timeline-year{color:var(--accent);letter-spacing:.16em;text-transform:uppercase;font-size:10px;font-weight:600}.eyebrow{margin:0 0 31px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);letter-spacing:-.055em;font-weight:400;line-height:1.1}h1{max-width:760px;margin-bottom:33px;font-size:clamp(45px,7.3vw,104px)}h1 em,h2 em{color:var(--accent);font-style:italic}.hero-copy{max-width:400px;color:var(--muted);margin-bottom:39px;font-size:15px}.hero-actions{align-items:center;gap:27px;display:flex}.button{letter-spacing:.07em;text-transform:uppercase;align-items:center;gap:22px;padding:13px 18px;font-size:11px;transition:transform .3s,background .3s;display:inline-flex}.button:hover{transform:translateY(-3px)}.button-dark{background:var(--ink);color:var(--paper)}.button-dark span{color:#c5a17c}.text-link{border-bottom:1px solid var(--line);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:7px;padding-bottom:4px;font-size:11px;transition:border-color .3s;display:inline-flex}.text-link:hover{border-color:var(--accent)}.hero-aside{justify-self:end;width:min(100%,330px)}.portrait-frame{aspect-ratio:3/4;background:var(--paper-deep);place-items:center;display:grid;position:relative;overflow:hidden}.portrait-frame:before{content:"";aspect-ratio:1;border:1px solid color-mix(in srgb,var(--accent) 50%,transparent);border-radius:50%;width:72%;position:absolute}.portrait-frame:after{content:"";background:color-mix(in srgb,var(--accent) 18%,transparent);filter:blur(28px);border-radius:50%;width:40%;height:90%;position:absolute;bottom:-20%}.portrait-initial{z-index:1;font-family:var(--serif);font-size:90px;font-style:italic;position:relative}.portrait-caption{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;margin-top:12px;font-size:10px;display:flex}.section-rule{border-top:1px solid var(--line)}.manifesto{grid-template-columns:1fr 2fr;gap:5vw;padding:34px 0 150px;display:grid}.manifesto-label{margin:0}.manifesto-copy{grid-template-columns:1.2fr .8fr;align-items:end;gap:5vw;display:grid}.manifesto h2{max-width:550px;margin:0;font-size:clamp(32px,4.5vw,62px)}.manifesto-copy p{max-width:270px;color:var(--muted);margin:0;font-size:13px}.section-heading{justify-content:space-between;align-items:center;padding-top:26px;display:flex}.section-label{align-items:center;gap:11px;margin:0;display:flex}.section-label span{background:var(--accent);width:20px;height:1px;display:block}.resume,.collection,.films,.reflections,.contact,.home-index,.home-note{padding-bottom:150px}.quiet-note{color:var(--muted);font-family:var(--serif);font-size:12px;font-style:italic}.home-index-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:1px;margin-top:72px;display:grid}.home-index-grid a{border-right:1px solid var(--line);min-height:250px;padding:24px 20px 20px 0;transition:background .3s,padding-left .3s;position:relative}.home-index-grid a:last-child{border-right:0}.home-index-grid a:hover{background:var(--paper-deep);padding-left:14px}.home-index-grid span{color:var(--accent);font-size:11px}.home-index-grid h2{margin:35px 0 12px;font-size:28px}.home-index-grid p{max-width:180px;color:var(--muted);font-size:12px}.home-index-grid strong{color:var(--accent);font-weight:400;position:absolute;bottom:20px;right:20px}.home-note-layout{grid-template-columns:1fr 1fr;gap:9vw;padding-top:85px;display:grid}.home-note-layout h2{margin:0;font-size:clamp(35px,5vw,66px)}.home-note-layout>div{align-self:end;max-width:280px}.home-note-layout p{color:var(--muted);font-size:13px}.page-intro{border-bottom:1px solid var(--line);padding:100px 0 110px}.page-intro-copy{grid-template-columns:1.15fr .85fr;align-items:end;gap:9vw;padding-top:76px;display:grid}.page-intro h1{margin:0;font-size:clamp(46px,7vw,92px)}.page-intro-copy>p{max-width:350px;color:var(--muted);margin:0 0 6px;font-size:14px}.page-section{padding-top:85px;padding-bottom:130px}.resume-detail-grid{grid-template-columns:1fr 1fr;gap:9vw;display:grid}.resume-link{margin-top:30px}.skill-list{flex-wrap:wrap;gap:10px;max-width:360px;display:flex}.skill-list span{border:1px solid var(--line);color:var(--muted);padding:8px 12px;font-size:11px}.resume-sub-label{margin-top:52px}.detail-list,.education-list{border-top:1px solid var(--line)}.detail-item{border-bottom:1px solid var(--line);grid-template-columns:190px 1fr;gap:5vw;padding:34px 0;display:grid}.detail-meta{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;flex-direction:column;gap:4px;font-size:10px;display:flex}.detail-item h2,.education-item h2{margin:0 0 7px;font-size:27px}.detail-item h3{color:var(--muted);margin:0 0 17px;font-size:13px;font-weight:500}.detail-item p,.education-item p{max-width:620px;color:var(--muted);margin:0;font-size:13px}.education-item{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:25px 0;display:flex}.education-item>span{color:var(--accent);font-size:11px}.page-action{padding:0 0 42px}.reflection-list{max-width:850px;margin-left:auto}.reflection-list .reflection-card{border-bottom:1px solid var(--line);grid-template-columns:70px 1fr;gap:20px;padding:30px 0;display:grid}.reflection-list .reflection-card:first-child{border-top:1px solid var(--line)}.reflection-card>span{color:var(--accent);font-family:var(--serif);font-size:18px}.reflection-card h2{margin:0 0 10px;font-size:25px}.reflection-card p{color:var(--muted);margin:0;font-size:13px}.contact-layout{grid-template-columns:1fr 1fr;gap:9vw;display:grid}.contact-detail{background:var(--paper-deep);min-height:420px;padding:30px}.contact-detail h2{max-width:420px;margin:0;font-size:clamp(32px,5vw,60px)}.contact-links{gap:20px;margin-top:65px;display:flex}.site-footer{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;padding:20px 5vw 35px;font-size:10px;display:flex}.reveal{animation:.9s cubic-bezier(.2,.7,.2,1) both rise}.delay-1{animation-delay:.15s}@keyframes rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.film-database{border:1px solid var(--line);background:var(--paper);overflow:hidden;box-shadow:0 24px 60px #20201d14}.database-sync-status{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:20px;padding:15px 20px;font-size:11px;display:flex}.database-sync-status .text-link{color:var(--ink);flex:none;font-size:10px}.film-database-head,.film-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;display:flex}.database-title{color:var(--ink);font-family:var(--serif);align-items:center;gap:10px;font-size:18px;display:flex}.database-title>span{font-family:var(--sans);font-size:14px}.database-actions,.film-controls{gap:8px;display:flex}.database-actions button{border:1px solid var(--line);width:30px;height:30px;color:var(--muted);cursor:pointer;background:#ffffff8c}.film-tabs{border-bottom:1px solid var(--line);background:#ffffff40;gap:4px;padding:0 20px;display:flex;overflow-x:auto}.film-tabs button,.film-filters button{color:#6f8795;font-family:var(--sans);cursor:pointer;background:0 0;border:0;padding:15px 13px;font-size:11px}.film-tabs button.is-selected{color:var(--ink);box-shadow:inset 0 -2px var(--accent)}.film-toolbar{background:var(--paper-deep);padding:16px 20px}.film-filters{flex-wrap:wrap;gap:3px;display:flex}.film-filters button{border:1px solid #0000;padding:7px 11px}.film-filters button.is-selected{border-color:var(--line);background:var(--paper);color:var(--ink)}.film-controls input,.film-controls select{border:1px solid var(--line);background:var(--paper);min-width:128px;max-width:190px;color:var(--ink);font:inherit;padding:8px 10px;font-size:11px}.film-controls input{min-width:190px}.film-controls select:focus,.film-controls input:focus{outline:1px solid var(--accent);outline-offset:2px}.film-table-wrap{background:#fff;overflow-x:auto}.film-table{border-collapse:collapse;color:#56636b;width:100%;min-width:920px;font-size:11px}.film-table th,.film-table td{text-align:left;vertical-align:middle;white-space:nowrap;border-bottom:1px solid #e5eaed;padding:15px 14px}.film-table thead th{color:#7c8b93;letter-spacing:.08em;text-transform:uppercase;background:#f8fafb;font-size:10px}.film-table tbody th{color:#28343b;font-weight:500}.film-table tbody tr:hover{background:#f5faff}.status-pill{color:#68757b;background:#edf1f3;border-radius:999px;padding:4px 8px;display:inline-block}.status-sudah-selesai{color:#4c8060;background:#e7f3ea}.status-belum-nonton{color:#9a7655;background:#f5eee7}.status-sedang-nonton{color:#5472a1;background:#e8eef8}.genre-list{white-space:normal;flex-wrap:wrap;gap:4px;max-width:200px;display:flex}.genre-list span{color:#6e8796;background:#eff4f7;border-radius:3px;padding:3px 6px}.database-footnote,.empty-film{color:#8a9aa3;margin:0;padding:14px 20px;font-size:10px}.database-sync-status{color:#557487;background:#ffffff80;border-bottom:1px solid #cbd9e3;padding:10px 20px;font-size:11px}.film-catalog{background:#cbd9e3;grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.film-catalog article{background:#fff;min-height:190px;padding:0 0 12px;overflow:hidden}.film-catalog article:hover{background:#f5faff}.film-cover,.film-cover-image{aspect-ratio:2/3;object-fit:cover;color:#2e6f9d;width:100%;font-family:var(--serif);background:#d9e8f0;place-items:center;margin-bottom:12px;font-size:20px;display:grid}.film-catalog h3,.film-catalog p{padding:0 12px}.film-catalog h3{color:#28343b;font-family:var(--serif);margin:0 0 6px;font-size:16px;font-weight:400}.film-catalog p{color:#80919b;margin:0;font-size:11px}.film-database-grid{background:var(--paper-deep);grid-template-columns:minmax(0,1fr);gap:18px;padding:18px;display:grid}.film-database-panel{border:1px solid var(--line);background:var(--paper);min-width:0;overflow:hidden}.film-panel-heading{border-bottom:1px solid var(--line);background:var(--paper);justify-content:space-between;align-items:flex-start;gap:12px;min-height:84px;padding:18px 16px 14px;display:flex}.film-panel-heading>div{min-width:0}.film-panel-index{color:#6f9bb5;letter-spacing:.14em;margin-bottom:5px;font-size:9px;font-weight:600;display:block}.film-panel-heading h2{color:var(--ink);font-family:var(--serif);letter-spacing:-.04em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:21px;font-weight:400;overflow:hidden}.film-panel-count{color:#7c8b93;white-space:nowrap;flex:none;font-size:10px}.film-panel-scroll{overscroll-behavior:contain;background:var(--paper);height:440px;overflow:auto}.film-panel-scroll .film-table{table-layout:fixed;min-width:0}.film-panel-scroll .film-table th,.film-panel-scroll .film-table td{white-space:normal;overflow-wrap:anywhere;padding:15px 14px}.film-panel-scroll .film-table th:first-child{width:32%;min-width:170px}.rating-stars{color:#b68b1e;letter-spacing:.04em;white-space:nowrap;font-size:13px}.film-panel-scroll .genre-list{gap:4px;max-width:none;display:flex}.film-panel-scroll .genre-list span{border:1px solid var(--line);color:var(--muted);border-radius:2px;padding:3px 6px;font-size:10px;line-height:1.25}.film-panel-scroll .film-table th:nth-child(2){width:16%}.film-panel-scroll .film-table th:nth-child(3){width:18%}.film-panel-scroll .film-table th:nth-child(4){width:24%}.film-panel-scroll .film-table th:nth-child(5){width:16%}.film-panel-scroll .film-table thead{z-index:1;position:sticky;top:0}.film-panel-scroll .film-table thead th{background:var(--paper-deep)}.film-panel-scroll .status-pill{white-space:nowrap}.film-panel-scroll .genre-list{flex-wrap:wrap;max-width:120px}.film-panel-scroll .genre-list span{white-space:nowrap}.film-panel-scroll::-webkit-scrollbar{width:7px;height:7px}.film-panel-scroll::-webkit-scrollbar-thumb{background:var(--accent);border-radius:20px}.film-panel-scroll::-webkit-scrollbar-track{background:var(--paper-deep)}@media (max-width:760px){.site-header{height:68px;padding:0 5vw}.desktop-nav,.header-note{display:none}.menu-toggle{cursor:pointer;background:0 0;border:0;flex-direction:column;gap:5px;margin-left:auto;padding:8px 0 8px 12px;display:flex}.menu-line{background:var(--ink);width:23px;height:1px;display:block}.mobile-nav{background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;padding:13px 5vw 20px;display:flex;position:absolute;top:68px;left:0;right:0}.mobile-nav a{border-bottom:1px solid var(--line);font-family:var(--serif);padding:12px 0;font-size:18px}.hero{flex-direction:column;align-items:stretch;gap:64px;min-height:auto;padding-top:75px;padding-bottom:90px;display:flex}.hero-aside{align-self:flex-end;width:72%}.manifesto,.resume-grid,.film-layout,.reflection-grid,.contact-layout,.resume-detail-grid,.page-intro-copy,.home-note-layout{flex-direction:column;gap:44px;display:flex}.manifesto-copy{flex-direction:column;align-items:flex-start;gap:27px;display:flex}.resume,.collection,.films,.reflections,.contact,.home-index,.home-note{padding-bottom:100px}.resume-grid,.film-layout,.reflection-grid,.contact-layout,.page-section{padding-top:60px}.page-intro{padding-top:75px;padding-bottom:80px}.page-intro-copy{gap:28px;padding-top:55px}.home-index-grid{flex-direction:column;margin-top:55px;display:flex}.home-index-grid a{border-right:0;border-bottom:1px solid var(--line);min-height:180px}.detail-item{flex-direction:column;gap:18px;display:flex}.education-item{flex-direction:column;gap:10px}.reflection-list{margin:0}.contact-detail{min-height:300px}.film-database-head,.film-toolbar{flex-direction:column;align-items:stretch;gap:10px;padding:14px}.film-database-grid{grid-template-columns:1fr;gap:10px;padding:10px}.film-panel-scroll .film-table{min-width:540px}.film-filters{flex-wrap:nowrap;overflow-x:auto}.film-controls{grid-template-columns:1fr 1fr;display:grid}.film-controls input,.film-controls select{width:100%;min-width:0}.film-table th,.film-table td{padding:13px 11px}.film-catalog{grid-template-columns:repeat(2,1fr)}.database-sync-status{flex-wrap:wrap;align-items:flex-start;gap:8px 16px}.film-database-grid{gap:12px;padding:10px}.film-toolbar{flex-direction:column;align-items:stretch}.film-controls{flex-wrap:wrap}.film-controls input,.film-controls select{flex:140px;min-width:0;max-width:none}.film-controls input{flex-basis:100%}.film-panel-scroll{height:390px}.film-panel-scroll .film-table th:first-child{min-width:145px}.film-panel-scroll .film-table th,.film-panel-scroll .film-table td{padding:12px 9px;font-size:10px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
