/* Reference-led project pages */
:root{--project-card:#ffffff8c;--project-border:#ffffffbc;--project-blue:#e1efff;--project-ink:#071b45;--project-muted:#486383}
[data-theme=dark]{--project-card:#203750d9;--project-border:#4b6784;--project-blue:#233f60;--project-ink:#f3f8ff;--project-muted:#c2d3e8}
.brand-image,.navbar .brand-image{width:24px;height:24px;mix-blend-mode:multiply}.brand-image img,.navbar .brand-image img{width:36px;height:36px;left:-6px;top:-6px;filter:invert(1) grayscale(1) contrast(6)}[data-theme=dark] .brand-image{mix-blend-mode:screen}[data-theme=dark] .brand-image img{filter:grayscale(1) contrast(6)}
#pengalaman{max-width:1160px;color:var(--project-ink)}#pengalaman>h2{margin-bottom:35px}.work-timeline{border:0!important;padding:0!important;margin:0!important}.work-highlight{position:relative;isolation:isolate;min-height:390px;border-radius:27px;overflow:hidden;background:#72a7d2;box-shadow:0 15px 40px #497caa18}.ref-visual{position:relative;background-image:var(--visual);background-size:100% auto;background-position:var(--position);background-repeat:no-repeat;background-color:#b8d7f3;overflow:hidden}.highlight-visual{position:absolute;inset:0;background-image:url('/assets/references/work.png');background-size:135% auto;background-position:right 2%;filter:saturate(.8)}.highlight-shade{position:absolute;inset:0;background:linear-gradient(90deg,#264d77ed,#315e8080 50%,transparent)}.highlight-copy{position:relative;padding:34px;color:white;max-width:690px}.highlight-label{display:inline-flex;align-items:center;gap:9px;border-radius:40px;background:#ffffffde;color:#d97928;padding:12px 17px;font-size:10px;font-weight:700}.highlight-label i{width:9px;height:9px;background:#f98a29;border-radius:50%}.highlight-copy h3{font-size:clamp(24px,3vw,40px);margin:22px 0 6px;letter-spacing:-1px}.highlight-copy p{font-size:17px;margin:0 0 18px}.highlight-pills{display:flex;gap:9px;flex-wrap:wrap}.glass-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:50px;border:1px solid #ffffffce;background:linear-gradient(135deg,#fffffff0,#d8efffc9);color:#15355a;padding:13px 20px;font-size:11px;font-weight:700;box-shadow:inset 0 2px 3px #fff8,0 7px 22px #4279aa19;text-decoration:none;transition:transform .2s}.glass-pill:hover{transform:translateY(-2px)}.case-link{position:absolute;right:26px;bottom:65px}.highlight-disclaimer{position:absolute;right:23px;bottom:18px;color:white;font-size:9px;letter-spacing:.3px}.placeholder-tag{position:absolute;right:9px;top:9px;border-radius:20px;background:#17365bcd;padding:4px 7px;color:white;font-size:7px;letter-spacing:.5px}.highlight-visual>.placeholder-tag{display:none}.timeline-rows{padding-top:26px}.work-row{display:grid;grid-template-columns:90px 32px 1fr;align-items:stretch;position:relative;margin-bottom:19px;gap:15px}.work-date{padding-top:20px;color:var(--project-muted)}.work-date>b{display:block;font-size:21px;margin-bottom:8px}.work-date time{display:block;max-width:80px;font-size:12px;line-height:1.55}.timeline-dot{position:relative}.timeline-dot:after{content:'';position:absolute;top:40px;bottom:-44px;left:14px;width:1px;background:#a6bed6}.timeline-dot:before{content:'';display:block;position:absolute;top:26px;left:6px;width:15px;height:15px;border-radius:100%;background:#bdd2e7;border:5px solid #edf6ff;box-shadow:0 0 0 1px #d5e5f8}.work-row:last-child .timeline-dot:after{display:none}.work-summary{display:grid;grid-template-columns:1fr 170px 115px;align-items:center;gap:20px;padding:22px;border:1px solid var(--project-border);background:var(--project-card);border-radius:23px;color:var(--project-ink);text-decoration:none;transition:background .2s,transform .2s}.work-summary:hover{transform:translateY(-3px);background:var(--project-blue)}.work-summary h3{font-size:19px;margin:0 0 5px}.work-summary h4{font-size:15px;color:var(--project-muted);margin:0 0 9px;font-weight:500}.work-summary p{color:var(--project-muted);font-size:13px;line-height:1.65;margin:0}.work-thumbnail{width:170px;height:105px;border-radius:10px;background-size:130% auto;background-position:right 5%}.work-thumbnail .placeholder-tag{font-size:5px}.detail-link{font-size:11px;white-space:nowrap;color:var(--project-muted)}.detail-link i{font-size:18px;font-style:normal;border:1px solid #bdd2e5;border-radius:50%;padding:7px;margin-right:6px}
body.project-open main>section{display:none}#project-detail[hidden]{display:none}body.project-open{background:radial-gradient(ellipse at 80% 15%,#c5e7ff,transparent 60%),linear-gradient(#e9f5ff,#e0efff);color:var(--project-ink)}[data-theme=dark] body.project-open{background:radial-gradient(ellipse at 80% 15%,#183b5a,transparent 60%),#101f34}.detail-wrap{max-width:1120px;padding:115px 26px 55px;margin:auto}.detail-breadcrumb{text-align:right;letter-spacing:1.5px;font-size:10px;color:var(--project-muted);margin-bottom:15px}.detail-hero{position:relative;min-height:480px;display:flex;align-items:center;isolation:isolate}.detail-hero-copy{width:60%;position:relative;z-index:2;padding:30px 0 80px}.detail-hero h1{font-size:clamp(38px,5vw,64px);font-weight:750;letter-spacing:-2.7px;line-height:1.02;margin:17px 0}.detail-hero h2{font-size:21px;margin:10px 0}.detail-meta{font-size:12px;line-height:1.8;font-weight:500}.tiny-pill{display:inline-block;border-radius:20px;background:#c6eaffbf;color:#225784;font-size:9px;font-weight:700;padding:6px 10px;letter-spacing:.3px}.detail-hero-visual{position:absolute;right:-26px;top:-20px;width:68%;height:100%;z-index:-1;background-size:160% auto;mask-image:linear-gradient(90deg,transparent,#000 35%),linear-gradient(#000 80%,transparent);mask-composite:intersect}.detail-hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#e5f3ff80,transparent 80%)}.back-experience{margin-top:14px;font-size:10px;padding:11px 18px}.detail-block{background:var(--project-card);border:1px solid var(--project-border);border-radius:17px;padding:26px;box-shadow:inset 0 1px 1px #fff5,0 10px 30px #6799c009;margin:0 0 22px}.detail-block h2{font-size:24px;margin:12px 0;letter-spacing:-.7px}.detail-block h3{font-size:15px;margin:0 0 17px}.detail-block>small{font-size:11px;color:#6c97be}.detail-block p{font-size:14px;line-height:1.7;color:var(--project-muted);margin:10px 0}.detail-intro{display:grid;grid-template-columns:1fr 1fr;gap:22px}.process-flow{display:flex;justify-content:space-between;gap:14px;padding-top:12px}.process-flow>div{flex:1;position:relative;text-align:center}.process-flow>div:not(:last-child):after{content:'›';position:absolute;right:-10px;top:40px;color:#75a1c8}.process-flow small{display:block;font-size:10px;color:#8bb0d3}.process-icon,.task-icon{display:inline-grid;place-items:center;width:50px;height:50px;border-radius:50%;background:#ddf0ff;color:#2872b1;font-size:25px;margin:8px 0}.process-flow h4{font-size:12px;font-weight:600;margin:9px 0}.detail-section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.detail-section-heading h3,.detail-section-heading h2{margin:0}.detail-section-heading small{font-size:10px;color:var(--project-muted)}.evidence-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.tiles-2,.tiles-4{grid-template-columns:repeat(2,1fr)}.evidence-tiles figure{margin:0;min-width:0}.evidence-image{aspect-ratio:1.55;border-radius:10px;background-size:180% auto}.evidence-tiles figcaption{font-size:11px;font-weight:600;padding:10px 2px;display:flex;justify-content:space-between}.evidence-tiles figcaption span{border-radius:50%;background:#fff9;padding:3px 6px;color:#315c89}.responsibility-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.responsibility-grid>div{display:flex;gap:12px;align-items:start}.responsibility-grid p{font-size:12px;margin:5px 0}.task-icon{flex-shrink:0;font-size:18px;width:33px;height:33px;margin:0}.project-film{position:relative;background:radial-gradient(ellipse at bottom,#0c5191,#031c39 75%);min-height:310px;border-radius:17px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:white;margin-bottom:26px;overflow:hidden}.project-film:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 27px,#48b8ff20 28px),repeating-linear-gradient(90deg,transparent 0 55px,#48b8ff20 56px);transform:perspective(200px) rotateX(30deg) scale(1.5);opacity:.6}.project-film>*{z-index:1}.film-play{display:grid;place-items:center;width:65px;height:65px;border:1px solid #8fcbf7;border-radius:50%;font-size:35px;box-shadow:0 0 30px #48b8ff77}.project-film h3{font-size:14px;letter-spacing:.5px;margin-bottom:0}.project-film p{font-size:12px;color:#c5e0f7}.project-pagination{display:grid;grid-template-columns:1fr 1fr;background:var(--project-card);border:1px solid var(--project-border);border-radius:18px;padding:25px;margin-top:26px;gap:25px}.project-pagination a{color:var(--project-ink);text-decoration:none;display:flex;flex-direction:column;gap:10px}.project-pagination a:last-child{text-align:right}.project-pagination small{font-size:10px;color:var(--project-muted)}.project-pagination b{font-size:14px}.intro-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.intro-trio h3{margin-top:15px;font-size:18px}.wide-technical{height:350px;border-radius:13px;background-size:100% auto}.model-site{display:grid;grid-template-columns:1fr 1fr;margin-bottom:22px;gap:0;border-radius:16px;overflow:hidden}.model-site-image{min-height:430px;background-size:160% auto}.dark-detail{padding:30px;background:linear-gradient(140deg,#06223f,#104f85);color:#fff}.dark-detail h2{font-size:32px;margin:15px 0;letter-spacing:-1px}.dark-detail p{font-size:12px;line-height:1.7;color:#d3e4f4;display:flex;gap:12px;align-items:start}.dark-detail .task-icon{background:#226493;color:#a5ddff}.career-banner{border-radius:18px;margin-bottom:25px}.career-banner p{max-width:650px}.qs .detail-hero-copy{width:53%}.qs .detail-hero h1{font-size:clamp(45px,6vw,78px)}.data .detail-hero{min-height:570px}.data .detail-hero-copy{align-self:start;padding-top:30px}.data .detail-hero-visual{width:100%;height:100%;background-size:100% auto;background-position:center 0%;mask-image:linear-gradient(90deg,transparent,#000 55%),linear-gradient(#000 85%,transparent)}
.contact-section{max-width:none;width:100%;padding:100px 24px 200px;position:relative;overflow:hidden;min-height:650px;background:#e2f1ff;color:#071b45}.contact-section:before{content:'';position:absolute;inset:0;background:url('/assets/references/contact.png') center bottom/cover;mask-image:linear-gradient(transparent 56%,#000 78%);pointer-events:none}.contact-section .contact-panel{position:relative;max-width:1000px;margin:auto;background:none!important;border:0!important;box-shadow:none!important;padding:0!important}.contact-panel .section-label{font-size:11px;letter-spacing:5px;color:#425874;margin-bottom:17px}.contact-panel h2{font-size:clamp(42px,7.6vw,92px);font-weight:750;letter-spacing:-4px;line-height:1.15;margin:0 0 35px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px}.contact-grid a{border-radius:80px!important;padding:25px!important;background:linear-gradient(135deg,#f8fdffc9,#d6ebffc9)!important;border:2px solid #f9ffffbc!important;box-shadow:inset 0 2px 5px #fff,0 18px 28px #579fe936;display:flex;align-items:center;gap:20px;color:#0b2148!important}.contact-grid a>svg{width:62px;height:62px;padding:16px;box-sizing:border-box;flex-shrink:0;border-radius:50%;background:linear-gradient(145deg,#70d0ff,#0750d7);color:white;box-shadow:0 8px 20px #397ae763}.contact-grid a>span:nth-child(2){flex:1;min-width:0}.contact-grid small{display:block;font-size:19px;font-weight:700;color:#0b2148;margin-bottom:5px}.contact-grid b{display:block;font-size:12px;font-weight:400;overflow-wrap:anywhere;color:#405a77}.contact-grid a>span:last-child{font-size:29px;font-weight:400}.contact-grid a:hover{transform:translateY(-3px)}[data-theme=dark] .contact-section{background:#0f2845;color:white}[data-theme=dark] .contact-section:before{filter:brightness(.4) saturate(.8)}[data-theme=dark] .contact-panel .section-label{color:#c0d7ed}[data-theme=dark] .contact-grid a{background:linear-gradient(135deg,#284e70,#19364e)!important;border-color:#476e8d!important;color:#fff!important;box-shadow:0 14px 28px #0003,inset 0 1px 3px #7698b350}[data-theme=dark] .contact-grid small,[data-theme=dark] .contact-grid b{color:#ecf6ff}
@media(max-width:760px){.work-highlight{min-height:340px}.highlight-copy{padding:24px}.highlight-copy h3{font-size:26px}.highlight-copy p{font-size:13px}.highlight-pills .glass-pill{padding:10px 13px;font-size:9px}.case-link{bottom:47px;right:18px}.highlight-disclaimer{font-size:6px}.work-row{grid-template-columns:55px 20px 1fr;gap:9px}.timeline-dot:before{left:0;width:13px;height:13px;border-width:3px}.timeline-dot:after{left:9px}.work-date>b{font-size:18px}.work-date time{font-size:10px}.work-summary{padding:17px;gap:12px;grid-template-columns:1fr 85px;border-radius:18px}.work-summary h3{font-size:16px}.work-summary h4{font-size:12px;line-height:1.5}.work-summary p{font-size:11px;line-height:1.6}.work-thumbnail{width:85px;height:85px}.detail-link{grid-column:1/-1;text-align:right;font-size:10px}.detail-link i{font-size:12px;padding:4px}.detail-wrap{padding:105px 18px 35px}.detail-hero{min-height:440px}.detail-hero-copy,.qs .detail-hero-copy{width:90%;padding-bottom:130px}.detail-hero h1,.qs .detail-hero h1{font-size:43px;letter-spacing:-1.9px;max-width:420px}.detail-hero-visual{width:100%;opacity:.65;background-position:right 4%;mask-image:linear-gradient(90deg,transparent,#000 75%),linear-gradient(#000 85%,transparent)}.detail-intro{gap:12px}.detail-block{padding:18px;border-radius:14px}.detail-block h2{font-size:20px}.detail-block p{font-size:12px}.process-flow{flex-wrap:wrap;gap:18px}.process-flow>div{flex:1 0 18%}.process-flow h4{font-size:10px}.process-icon{width:39px;height:39px;font-size:22px}.detail-section-heading{align-items:start;flex-direction:column;gap:8px}.evidence-tiles{grid-template-columns:repeat(2,1fr);gap:10px}.evidence-tiles figcaption{font-size:10px}.responsibility-grid{grid-template-columns:repeat(2,1fr);gap:16px}.responsibility-grid p{font-size:11px}.intro-trio{gap:9px}.intro-trio .detail-block{padding:12px}.intro-trio h3{font-size:14px}.intro-trio p{font-size:10px}.wide-technical{height:230px}.model-site{grid-template-columns:1fr}.model-site-image{min-height:340px}.project-pagination{padding:18px;gap:15px}.project-pagination b{font-size:11px}.project-pagination small{font-size:9px}.contact-section{padding:80px 24px 160px;min-height:590px}.contact-panel h2{font-size:52px;letter-spacing:-2px}.contact-grid{grid-template-columns:1fr;gap:15px}.contact-grid a{padding:18px!important;gap:15px}.contact-grid a>svg{width:52px;height:52px;padding:13px}.contact-grid small{font-size:17px}.contact-grid b{font-size:11px}}
@media(prefers-reduced-motion:reduce){.glass-pill,.work-summary,.contact-grid a{transition:none}}

.ref-visual{background-image:none!important}.visual-crop{display:block;width:100%;height:100%;position:absolute;inset:0}.highlight-shade{background:linear-gradient(90deg,#244d7bd9,#315e8050 55%,transparent)}.highlight-visual{filter:saturate(.9)}.work-thumbnail{background-color:#cce4f8}.detail-hero-visual{background:none}.detail-hero-visual:after{background:linear-gradient(90deg,#e5f3ff90,transparent 70%)}[data-theme=dark] .detail-hero-visual:after{background:linear-gradient(90deg,#10263b90,transparent 70%)}

.project-detail h2,.project-detail h3{text-align:left}.detail-hero h1{max-width:580px}.btn .detail-hero h1{max-width:510px}.estimate-sample table{border-collapse:collapse;width:100%;font-size:12px;color:var(--project-muted);margin-top:22px}.estimate-sample th,.estimate-sample td{padding:15px 10px;border-bottom:1px solid #97bad54d;text-align:left}.estimate-sample th{background:#8fc6f12b}.detail-breadcrumb{position:relative;z-index:3}.contact-panel h2{text-align:left}.detail-hero-visual{top:0}body.project-open main{min-height:100vh}body.project-open footer{background:transparent}
@media(max-width:760px){.detail-hero h1{max-width:340px}.estimate-sample th,.estimate-sample td{font-size:9px;padding:10px 4px}.detail-hero-visual{opacity:.45}.data .detail-hero-copy{width:100%}.data .detail-hero{min-height:540px}.data .detail-hero-visual{mask-image:linear-gradient(transparent 15%,#000 60%,transparent)}.data .detail-hero h1{max-width:350px}.detail-intro{grid-template-columns:1fr}.contact-grid a{min-width:0}}
