:root{--paper:#eae9e2;--ink:#262923;--line:#c7c7bd;--muted:#777970;--olive:#4a4d42;--cream:#f4f3ed;--serif:'Instrument Serif',Georgia,serif;--sans:'Roboto Condensed','Manrope','DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;font-weight:400}body.lock{overflow:hidden}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;width:100%;object-fit:cover}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #95795e;outline-offset:4px}.shell{margin:0 auto;max-width:1720px}.page-pad{padding-left:clamp(22px,4.6vw,90px);padding-right:clamp(22px,4.6vw,90px)}.eyebrow{font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:600}.script{font-family:Georgia,serif;font-size:18px;font-style:italic;font-weight:400;letter-spacing:-.05em}.serif{font-family:var(--serif);font-weight:400;letter-spacing:-.055em}.rule{border-top:1px solid var(--line)}.topbar{position:fixed;z-index:100;top:0;left:0;width:100%;display:flex;align-items:flex-start;justify-content:space-between;padding:22px 25px;pointer-events:none;transition:color .4s}.topbar>*{pointer-events:auto}.topbar.light{color:#f8f6f1}.topbar.dark{color:var(--ink)}.navbtn,.callbtn{background:transparent;border:1px solid currentColor;color:inherit;height:40px;text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:600;transition:background .25s,color .25s}.navbtn{min-width:85px;display:flex;gap:12px;align-items:center;justify-content:center}.navbtn:hover,.callbtn:hover{background:currentColor;color:#161714}.navbtn:hover span,.callbtn:hover span{filter:invert(1)}.navbtn i{width:11px;height:1px;background:currentColor;position:relative;display:block}.navbtn i:before{content:'';width:11px;height:1px;background:currentColor;position:absolute;top:5px;left:0}.wordmark{font-family:var(--serif);font-size:38px;line-height:1;letter-spacing:.12em;margin-top:-1px;position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap}.callbtn{min-width:154px;padding:0 16px}.hero{height:100svh;min-height:630px;position:relative;color:#f6f3ea;overflow:hidden;background:#55544e}.hero img,.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero img{animation:herozoom 15s ease-out both}@keyframes herozoom{from{transform:scale(1.08)}to{transform:scale(1)}}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.08) 32%,rgba(0,0,0,.40) 78%,rgba(0,0,0,.52))}.hero-content{position:absolute;z-index:2;left:50%;bottom:10%;width:90%;transform:translateX(-50%);text-align:center}.hero-content h1{font-size:clamp(64px,8.4vw,146px);line-height:.89;margin:16px auto 21px;max-width:1360px}.hero-content p{font-size:13px;letter-spacing:.02em}.hero-side{position:absolute;z-index:2;bottom:35px;left:4.6vw;display:flex;gap:20px;font-size:10px;letter-spacing:.16em;text-transform:uppercase}.scrollcue{position:absolute;z-index:2;bottom:31px;right:4.6vw;font-size:10px;letter-spacing:.17em;text-transform:uppercase;display:flex;align-items:center;gap:18px}.scrollcue:after{content:'↓';font-size:22px}.section{padding-top:clamp(90px,12vw,190px);padding-bottom:clamp(90px,12vw,190px)}.sectionhead{display:flex;gap:5vw;align-items:flex-start}.sectionhead .eyebrow{width:24%;padding-top:18px;flex:none}.sectionhead h2{font-size:clamp(64px,9.7vw,164px);line-height:.85;margin:0;max-width:1100px}.introcopy{display:grid;grid-template-columns:1fr 1fr;margin:100px 0 0;gap:7vw}.introcopy .lead{font-size:clamp(26px,3.4vw,52px);line-height:1.14;letter-spacing:-.04em}.introcopy .body{font-size:16px;line-height:1.7;max-width:480px;margin-left:auto;align-self:end}.micro{color:var(--muted);font-size:12px;line-height:1.5}.projects-home{background:#e1e0d8;padding:110px 0}.projects-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:38px}.projects-top h2{font-size:clamp(54px,7vw,108px);line-height:.9;margin:0}.textlink{display:inline-flex;align-items:center;gap:32px;border-bottom:1px solid currentColor;padding-bottom:8px;text-transform:uppercase;font-size:10px;letter-spacing:.17em;font-weight:600}.textlink:after{content:'↗';font-size:18px;font-weight:400;transition:transform .2s}.textlink:hover:after{transform:translate(4px,-4px)}.project-show{display:grid;grid-template-columns:57% 43%;min-height:650px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.project-photo{overflow:hidden;background:#a39d8f}.project-photo img{height:100%;min-height:650px;transition:transform .8s ease}.project-photo:hover img{transform:scale(1.045)}.project-info{padding:clamp(30px,4vw,75px);display:flex;flex-direction:column}.project-info h3{font-size:clamp(54px,6vw,100px);line-height:.88;margin:42px 0 auto}.stats{margin:45px 0 48px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stats small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.16em;margin-bottom:13px;color:var(--muted)}.stats strong{font-family:var(--serif);font-size:34px;font-weight:400}.project-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:32px}.rounds{display:flex;gap:7px}.round{width:42px;height:42px;background:transparent;border:1px solid var(--ink);border-radius:50%;font-size:18px;transition:.2s}.round:hover{background:var(--ink);color:var(--paper)}.counter{font-family:var(--serif);font-size:30px}.delivery{background:var(--cream)}.split-title{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.split-title h2{font-size:clamp(60px,8vw,124px);line-height:.9;margin:0}.split-title p{font-size:clamp(21px,2.2vw,33px);line-height:1.28;max-width:580px;margin:40px 0 0}.four-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:120px}.feature{border-top:1px solid var(--ink);padding-top:20px}.feature .num{font-family:var(--serif);font-size:28px}.feature img{aspect-ratio:3/4;margin:22px 0 27px;filter:saturate(.75)}.feature h3{font-family:var(--serif);font-size:36px;font-weight:400;line-height:1;margin:0 0 14px}.feature p{font-size:13px;line-height:1.6;color:#5f615a;max-width:250px}.services{background:#d9d9d0}.services h2{font-size:clamp(58px,8vw,126px);line-height:.9;margin:0 0 80px;max-width:1050px}.service-row{border-top:1px solid #aaaba2;padding:26px 0;display:grid;grid-template-columns:9% 42% 31% 18%;align-items:center;min-height:142px;transition:padding .3s,background .3s}.service-row:last-child{border-bottom:1px solid #aaaba2}.service-row:hover{background:#e2e2d9;padding-left:20px}.service-row h3{font-size:clamp(43px,5.6vw,86px);line-height:1;margin:0}.service-row img{width:78px;height:82px;object-fit:cover;opacity:.55;transform:rotate(-5deg);transition:.3s}.service-row:hover img{opacity:1;transform:scale(1.2) rotate(0)}.service-row p{max-width:270px;font-size:13px;line-height:1.5}.about{background:var(--cream)}.about-grid{display:grid;grid-template-columns:48% 52%;gap:3vw}.about-grid h2{font-size:clamp(60px,9vw,145px);line-height:.9;margin:0 0 70px}.about-grid img{aspect-ratio:4/5}.about-copy{padding:10vw 5vw}.about-copy p{font-size:clamp(26px,2.7vw,43px);line-height:1.25;letter-spacing:-.03em}.marquee{overflow:hidden;white-space:nowrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:35px 0;font-family:var(--serif);font-size:clamp(50px,7vw,105px);color:#67695f}.marquee-track{display:inline-block;animation:marquee 22s linear infinite}@keyframes marquee{to{transform:translateX(-50%)}}.journal .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:55px}.article-card img{aspect-ratio:4/5;filter:saturate(.7);transition:transform .6s}.article-card .image-wrap{overflow:hidden}.article-card:hover img{transform:scale(1.04)}.article-card h3{font-size:clamp(27px,3vw,44px);line-height:1.06;margin:18px 0}.faq{background:#deded5}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.faq-grid h2{font-size:clamp(63px,8vw,120px);line-height:.9;margin:0}.faq-item{border-top:1px solid #aaa;padding:0}.faq-item:last-child{border-bottom:1px solid #aaa}.faq-q{background:none;border:0;padding:25px 0;width:100%;display:flex;justify-content:space-between;text-align:left;font-size:18px}.faq-q span:last-child{font-size:26px;line-height:20px}.faq-a{max-height:0;overflow:hidden;transition:max-height .35s}.faq-a p{max-width:530px;font-size:14px;line-height:1.65;padding-bottom:22px}.faq-item.open .faq-a{max-height:240px}.footer-cta{background:#3b3d36;color:#eeeee7;padding:110px 4.6vw 65px}.footer-cta h2{font-size:clamp(67px,10vw,160px);line-height:.87;margin:34px 0 50px;max-width:1250px}.footer-cta .textlink{font-size:13px}.footer-bottom{margin-top:145px;border-top:1px solid #7d7e76;padding-top:28px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;font-size:11px;line-height:1.8}.footer-bottom nav{display:flex;flex-wrap:wrap;gap:18px}.footer-bottom a:hover{text-decoration:underline}.footmark{font-family:var(--serif);font-size:clamp(65px,12vw,180px);line-height:1;text-align:center;margin-top:80px}.overlay{position:fixed;inset:0;z-index:200;display:none;background:#deded5;color:var(--ink)}.overlay.open{display:block;animation:overlayin .4s both}@keyframes overlayin{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}.overlay .close{position:absolute;right:25px;top:22px;border:1px solid var(--ink);background:transparent;padding:12px 18px;text-transform:uppercase;font-size:10px;letter-spacing:.15em}.menu-inner{padding:120px 5vw 50px;display:grid;grid-template-columns:1fr 2fr;min-height:100vh}.menu-inner .micro{align-self:end}.menu-links{display:flex;flex-direction:column;align-items:flex-start}.menu-links a{font-family:var(--serif);font-size:clamp(68px,8vw,130px);line-height:.98;transition:transform .3s,opacity .3s}.menu-links:hover a:not(:hover){opacity:.3}.menu-links a:hover{transform:translateX(20px)}.modal{position:fixed;z-index:220;inset:0;background:#191a18aa;display:none;align-items:center;justify-content:center;padding:20px}.modal.open{display:flex}.modal-card{background:var(--cream);width:min(680px,100%);max-height:90vh;overflow:auto;padding:clamp(30px,4vw,65px);position:relative}.modal-card h2{font-size:clamp(54px,6vw,86px);line-height:.95;margin:14px 0 25px}.modal-card p{line-height:1.6}.modal-card .close{position:absolute;right:25px;top:25px;border:0;background:none;font-size:28px}.formgrid{display:grid;gap:20px;margin-top:35px}.formgrid label{font-size:11px;text-transform:uppercase;letter-spacing:.12em}.formgrid input,.formgrid textarea{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid #999;padding:12px 0;outline:0;resize:vertical}.formgrid input:focus,.formgrid textarea:focus{border-color:#262923}.submit{background:#30332c;color:#fff;padding:17px 22px;border:0;text-transform:uppercase;letter-spacing:.13em;font-size:11px}.note{font-size:12px;color:#666;line-height:1.55}.pagehero{padding:170px 4.6vw 70px;background:var(--paper);min-height:430px;display:flex;flex-direction:column;justify-content:end}.pagehero h1{font-size:clamp(90px,15vw,230px);line-height:.75;margin:0}.pagehero .eyebrow{margin-bottom:45px}.listing{padding:0 4.6vw 110px}.listing-row{display:grid;grid-template-columns:54% 46%;border-top:1px solid var(--line);padding:35px 0;min-height:460px;gap:3vw}.listing-row:last-child{border-bottom:1px solid var(--line)}.listing-row img{height:410px;transition:transform .6s}.listing-row .image-wrap{overflow:hidden}.listing-row:hover img{transform:scale(1.04)}.listing-row h2{font-size:clamp(55px,7vw,110px);line-height:.9;margin:35px 0}.listing-meta{display:flex;gap:30px}.listing-meta span{font-size:11px;letter-spacing:.1em;text-transform:uppercase}.detail-hero{height:100vh;min-height:620px;position:relative;color:#fff;background:#555}.detail-hero img{height:100%}.detail-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 20%,#0009)}.detail-hero h2{position:absolute;z-index:1;bottom:65px;left:4.6vw;max-width:1000px;font-size:clamp(65px,10vw,150px);line-height:.88;margin:0}.detail-intro{display:grid;grid-template-columns:1fr 1fr;gap:7vw;padding:120px 4.6vw}.detail-intro p{font-size:clamp(27px,3.1vw,50px);line-height:1.2;margin:0}.detail-grid{padding:0 4.6vw 120px;display:grid;grid-template-columns:repeat(2,1fr);gap:25px}.detail-grid img{aspect-ratio:4/5}.detail-grid img:nth-child(3){grid-column:span 2;aspect-ratio:16/9}.article-list{padding:20px 4.6vw 130px}.article-row{display:grid;grid-template-columns:16% 1fr 20%;gap:20px;border-top:1px solid var(--line);padding:35px 0;align-items:center}.article-row:last-child{border-bottom:1px solid var(--line)}.article-row h2{font-size:clamp(44px,5.5vw,84px);line-height:.95;margin:0}.article-row img{aspect-ratio:1}.article-body{padding:100px max(4.6vw,calc((100vw - 800px)/2));font-size:20px;line-height:1.75}.article-body p{margin:0 0 30px}.reveal{opacity:0;transform:translateY(40px);filter:blur(8px);transition:opacity .8s,transform .8s,filter .8s}.reveal.visible{opacity:1;transform:none;filter:none}.sample-label{font-size:10px;text-transform:uppercase;letter-spacing:.16em;background:#e0d5c6;color:#3d3a32;padding:8px 12px;display:inline-block}.mobile-only{display:none}@media(max-width:800px){.topbar{padding:15px}.wordmark{font-size:28px;top:22px}.callbtn{min-width:0;width:40px;font-size:0}.callbtn:after{content:'↗';font-size:20px}.hero-content{bottom:15%}.hero-content h1{font-size:clamp(55px,13vw,96px)}.hero-side{left:22px;bottom:25px;gap:9px;font-size:8px}.scrollcue{right:20px;bottom:19px;font-size:0}.sectionhead,.introcopy,.split-title,.faq-grid,.about-grid,.detail-intro{grid-template-columns:1fr;display:grid}.sectionhead .eyebrow{width:auto}.introcopy{margin-top:60px}.introcopy .body{margin:0}.project-show{grid-template-columns:1fr}.project-photo img{min-height:0;aspect-ratio:4/4}.project-info{min-height:500px}.four-grid{grid-template-columns:repeat(2,1fr);margin-top:65px}.service-row{grid-template-columns:8% 1fr 75px}.service-row p{grid-column:2/span 2}.service-row img{width:70px}.about-copy{padding:0}.journal .cards{grid-template-columns:1fr}.journal .cards .article-card:not(:first-child){display:none}.menu-inner{grid-template-columns:1fr;padding-top:130px}.menu-inner .micro{order:2;margin-top:40px}.menu-links a{font-size:clamp(60px,12vw,100px)}.footer-bottom{grid-template-columns:1fr 1fr}.footmark{font-size:16vw}.listing-row{grid-template-columns:1fr}.listing-row img{height:auto;aspect-ratio:4/3}.listing-row h2{margin:20px 0}.article-row{grid-template-columns:1fr 90px}.article-row .eyebrow{grid-column:span 2}.detail-grid{gap:10px}.mobile-only{display:block}}@media(max-width:520px){.four-grid{grid-template-columns:1fr}.feature img{aspect-ratio:4/3}.footer-bottom{grid-template-columns:1fr}.stats strong{font-size:26px}.project-info h3{font-size:62px}.project-info{min-height:430px}.article-row h2{font-size:42px}}
/* Editorial behaviors refined from the observed reference */
#komposisi{position:relative;min-height:1050px;overflow:hidden;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),rgba(50,50,45,.09) calc(25% - 1px),rgba(50,50,45,.09) 25%)}#komposisi .sectionhead{justify-content:center;position:relative;z-index:1}#komposisi .sectionhead h2{text-align:center}#komposisi .sectionhead .eyebrow{position:absolute;left:0;top:0}#komposisi:before,#komposisi:after{content:'';position:absolute;background-size:cover;background-position:center;filter:saturate(.65);pointer-events:none}#komposisi:before{background-image:url('/assets/residence-bedroom.webp');width:18%;height:300px;top:120px;right:7%}#komposisi:after{background-image:url('/assets/residence-bath.webp');width:17%;height:290px;left:7%;bottom:80px}#komposisi .introcopy{position:relative;z-index:1;margin-top:210px}#komposisi .introcopy .lead{max-width:550px}#komposisi .introcopy .body{background:var(--paper);padding:20px}.projects-home{background:#56594b;color:#f6f4eb;padding:100px 0 0}.projects-home .projects-top{margin-bottom:70px}.project-show{position:relative;display:block;height:100vh;min-height:650px;border:0;overflow:hidden}.project-photo{display:block;position:absolute;inset:0;background:#777b6c}.project-photo img{width:100%;height:100%;min-height:0;object-fit:cover}.project-show:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0000 15%,#0005 55%,#000b 100%);pointer-events:none}.project-info{position:absolute;z-index:1;inset:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr auto auto;align-items:end;padding:4.6vw;color:#fff;pointer-events:none}.project-info>*{pointer-events:auto}.project-info>.eyebrow{grid-column:1/3;align-self:start}.project-info h3{grid-column:1;grid-row:2;font-size:clamp(75px,10vw,160px);margin:0}.project-info .stats{grid-column:2;grid-row:2;margin:0 0 12px auto;width:min(100%,500px)}.project-info .stats small{color:#e6e6dd}.project-info>a.textlink{grid-column:1;grid-row:3;margin-top:40px;justify-self:start}.project-info .project-controls{grid-column:2;grid-row:3;align-self:end;margin:0 0 0 auto;width:50%}.project-info .round{color:#fff;border-color:#fff}.project-info .round:hover{background:#fff;color:#333}.services{background:#202b34;color:#eeeae1;padding-bottom:0;overflow:hidden}.services h2{margin-bottom:120px}.service-track{display:flex;gap:0;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:none;margin-left:-4.6vw;margin-right:-4.6vw}.service-track::-webkit-scrollbar{display:none}.service-row,.service-row:last-child{flex:0 0 min(63vw,900px);height:75vh;min-height:620px;padding:42px!important;margin:0;border:0;border-right:1px solid #8b8f8c;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;background:#dcdcd3;color:#242720;scroll-snap-align:start;transition:background .3s}.service-row:nth-child(2){background:#36414b;color:#eeeae1}.service-row:nth-child(3){background:#b4b4a8}.service-row:hover{background:#cacdc0}.service-row h3{font-size:clamp(74px,9vw,142px)}.service-row img{align-self:center;opacity:1;width:34%;height:45%;object-fit:cover;transform:rotate(-4deg)}.service-row:hover img{transform:scale(1.06) rotate(0)}.service-row p{max-width:480px;font-size:17px;grid-column:auto}.service-row>span{font-size:18px;font-family:var(--serif)}.listing-row{grid-template-columns:50% 50%;min-height:600px;align-items:start;padding:70px 0}.listing-row .image-wrap{display:flex;align-items:stretch;gap:10px;height:520px}.listing-row .image-wrap:after{content:'';display:block;width:20%;background:url('/assets/residence-bath.webp') center/cover}.listing-row img{height:100%;width:80%;object-fit:cover}.listing-row h2{margin-top:50px}.article-list{display:grid;grid-template-columns:repeat(2,1fr);gap:55px 20px}.article-row,.article-row:last-child{border:0;display:flex;flex-direction:column;align-items:flex-start;padding:0}.article-row img{order:0;aspect-ratio:4/3;width:100%;margin-bottom:22px}.article-row .eyebrow{order:1}.article-row h2{order:2;font-size:clamp(44px,5vw,77px)}.article-row:first-child{grid-row:span 2}.article-row:first-child img{aspect-ratio:4/5}.article-row:hover img{filter:saturate(.55)}@media(max-width:800px){#komposisi{min-height:900px}#komposisi:before{width:29%;height:180px;top:100px}#komposisi:after{width:29%;height:180px;bottom:60px}#komposisi .introcopy{margin-top:260px}.project-show{height:83vh}.project-info{display:flex;flex-direction:column;align-items:stretch;justify-content:end}.project-info>.eyebrow{align-self:start;margin-bottom:auto}.project-info h3{font-size:clamp(70px,15vw,110px)}.project-info .stats{width:100%;margin:20px 0}.project-info .project-controls{margin:25px 0 0;width:100%}.service-row,.service-row:last-child{flex-basis:82vw;min-height:550px;height:70vh;padding:30px!important}.service-row img{width:55%;height:40%}.listing-row{grid-template-columns:1fr;min-height:0}.listing-row .image-wrap{height:400px}.article-list{grid-template-columns:1fr}.article-row:first-child{grid-row:auto}.article-row img,.article-row:first-child img{aspect-ratio:4/3}}
.overlay{position:fixed;inset:auto;top:69px;left:25px;width:250px;height:auto;z-index:101;background:var(--cream);box-shadow:0 15px 45px #0003}.overlay.open{animation:none}.overlay .menu-inner{padding:10px;display:block;min-height:0}.overlay .menu-links{display:block}.overlay .menu-links a{display:block;font-family:var(--sans);font-size:13px;line-height:1.1;padding:14px 12px;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid var(--line)}.overlay .menu-links a:last-child{border:0}.overlay .menu-links:hover a:not(:hover){opacity:1}.overlay .menu-links a:hover{background:#d6d6cd;transform:none}.modal-card{box-shadow:0 30px 80px #0005}#callModal .modal-card{min-height:400px}@media(max-width:800px){.overlay{top:59px;left:15px;width:220px}}

/* Projects index follows the reference's compact editorial heading and tiled gallery. */
.projects-page .pagehero{position:relative;display:block;min-height:330px;padding:97px 25px 0}
.projects-page .pagehero .eyebrow{margin:0;color:var(--muted)}
.projects-page .pagehero h1{font-size:56px;line-height:1;margin:20px 0 0}
.projects-page .pagehero h1 span{position:absolute;left:50%;top:115px;font-size:56px;line-height:1}
.projects-page .pagehero .micro{margin-top:18px}
.projects-page .listing{padding:0 25px 110px}
.projects-page .listing-row{grid-template-columns:49% 51%;gap:0;padding:6px 0 60px;min-height:420px;border-top:0}
.projects-page .listing-row .eyebrow{font-size:12px;color:var(--muted);letter-spacing:0;text-transform:none;font-weight:400}
.projects-page .listing-row h2{font-size:56px;margin:22px 0 32px}
.projects-page .listing-gallery{min-width:0}
.projects-page .listing-row img{height:410px;aspect-ratio:auto}
@media(max-width:800px){.projects-page .pagehero{min-height:300px;padding:95px 20px 0}.projects-page .pagehero h1{font-size:48px}.projects-page .pagehero h1 span{font-size:48px;top:120px}.projects-page .listing{padding:0 20px 80px}.projects-page .listing-row{grid-template-columns:1fr;gap:25px}.projects-page .listing-row h2{font-size:clamp(48px,10vw,72px)}.projects-page .listing-row img{height:auto;aspect-ratio:4/3}}
.article-head{padding:170px 4.6vw 65px;min-height:590px}.article-head-grid{display:grid;grid-template-columns:1fr 1fr;gap:6vw;margin-top:70px}.article-head h1{font-size:clamp(66px,7.3vw,115px);line-height:.95;margin:0}.article-head-side{display:flex;flex-direction:column;align-items:start;justify-content:end}.article-head-side p{font-size:clamp(22px,2.5vw,35px);line-height:1.2;letter-spacing:-.04em;margin:0 0 45px}.article-head-side .eyebrow{margin-bottom:15px}.share-btn{background:var(--ink);border:0;color:white;padding:13px 17px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin:15px 0}.article-cover{height:80vh;min-height:500px}.article-cover img{height:100%;width:100%}@media(max-width:800px){.article-head{min-height:650px}.article-head-grid{grid-template-columns:1fr;gap:30px}.article-head-side p{margin-bottom:25px}.article-cover{height:55vh;min-height:300px}}
.about-grid{grid-template-columns:minmax(0,48%) minmax(0,1fr)}.hero:after{background:linear-gradient(180deg,rgba(0,0,0,.48),rgba(0,0,0,.34) 35%,rgba(0,0,0,.56) 80%,rgba(0,0,0,.62))}body{overflow-x:hidden}
.hero video{animation:unblur 1.8s ease-out both}@keyframes unblur{from{filter:blur(18px);transform:scale(1.09)}to{filter:blur(0);transform:scale(1)}}.hero-content .script{width:0;white-space:nowrap;overflow:hidden;animation:typein 1.5s steps(30,end) .3s forwards;margin:auto}@keyframes typein{to{width:min(370px,95vw)}}.delivery .split-title{grid-template-columns:1fr 1fr}.delivery .split-title h2{grid-column:2;grid-row:1}.delivery .split-title>div{grid-column:1;grid-row:1;align-self:center}.delivery .split-title>div p{font-size:17px;line-height:1.7;max-width:390px}.delivery .four-grid{display:block;margin-top:130px}.delivery .feature{display:grid;grid-template-columns:43% 1fr;grid-template-rows:auto auto 1fr;column-gap:8vw;min-height:370px;padding:22px 0}.delivery .feature:last-child{border-bottom:1px solid var(--ink)}.delivery .feature img{grid-column:1;grid-row:1/4;width:100%;height:340px;aspect-ratio:auto;margin:0}.delivery .feature .num{grid-column:2;grid-row:1;font-size:16px}.delivery .feature h3{grid-column:2;grid-row:2;font-size:clamp(45px,5vw,76px);margin:45px 0 18px}.delivery .feature p{grid-column:2;grid-row:3;font-size:15px;max-width:420px;margin:0}@media(max-width:800px){.delivery .split-title{grid-template-columns:1fr}.delivery .split-title h2,.delivery .split-title>div{grid-column:1;grid-row:auto}.delivery .four-grid{margin-top:70px}.delivery .feature{grid-template-columns:1fr;min-height:0;gap:0;padding:20px 0 50px}.delivery .feature img{grid-column:1;grid-row:1;height:auto;aspect-ratio:4/3;margin-bottom:20px}.delivery .feature .num,.delivery .feature h3,.delivery .feature p{grid-column:1;grid-row:auto}.delivery .feature h3{margin:25px 0 15px}}
.principles{padding-top:100px;padding-bottom:100px;background:var(--cream)}.principle-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:40px}.principle-grid>div{border-top:1px solid var(--line);border-right:1px solid var(--line);min-height:185px;padding:20px;display:flex;flex-direction:column;justify-content:space-between}.principle-grid>div:last-child{border-right:0}.principle-grid strong{font-size:75px;font-weight:400}.principle-grid span{font-size:12px;letter-spacing:.15em;text-transform:uppercase}.concept-story{display:grid;grid-template-columns:1fr 1fr;background:#c4c5ba}.concept-story>div:first-child{min-height:700px}.concept-story img{height:100%}.concept-story-copy{padding:clamp(45px,7vw,120px);align-self:center}.concept-story h2{font-size:clamp(70px,8vw,125px);line-height:.9;margin:50px 0}.concept-story p{max-width:500px;line-height:1.7;font-size:16px}.faq-more{display:none}.faq-more.visible-extra{display:block}.faq-show{background:transparent;border:1px solid var(--ink);padding:14px 18px;margin-top:25px;text-transform:uppercase;font-size:11px;letter-spacing:.13em}.faq-show:hover{background:var(--ink);color:var(--paper)}.footer-cta{background-image:linear-gradient(#202720de,#202720ee),url('/assets/hero-villa.webp');background-position:center;background-size:cover}@media(max-width:800px){.principle-grid{grid-template-columns:repeat(2,1fr)}.concept-story{grid-template-columns:1fr}.concept-story>div:first-child{min-height:400px}.concept-story-copy{padding:80px 22px}}
.detail-page-intro{min-height:100vh;padding:145px 4.6vw 70px;display:grid;grid-template-columns:53% 1fr;gap:5vw}.detail-page-text h1{font-size:clamp(78px,9vw,145px);line-height:.9;margin:30px 0 45px}.detail-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;font-size:11px;text-transform:uppercase;letter-spacing:.12em;line-height:1.8}.detail-narrative{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:65px;max-width:740px}.detail-narrative p{font-size:16px;line-height:1.65}.detail-side-image{height:calc(100vh - 220px);min-height:520px}.detail-side-image img{height:100%}@media(max-width:800px){.detail-page-intro{display:flex;flex-direction:column;padding-top:130px}.detail-side-image{min-height:0;height:55vh}.detail-narrative{margin-top:40px}}
.listing-gallery{position:relative;height:520px}.listing-gallery .image-wrap{display:block;height:100%}.listing-gallery .gallery-buttons{position:absolute;bottom:20px;right:20px;display:flex;align-items:center;gap:10px;background:#eae9e2e8;padding:10px}.listing-gallery .round{width:38px;height:38px}.gallery-count{font-family:var(--serif);font-size:25px;min-width:72px;text-align:center}@media(max-width:800px){.listing-gallery{height:400px}}
.project-swiper{height:100%}.project-swiper .swiper-slide{height:100%}.project-swiper img{height:100%;width:100%;object-fit:cover}.listing-gallery .image-wrap:after{display:none}.listing-gallery .image-wrap img{width:100%}.listing-gallery .gallery-buttons{z-index:3}.reveal.visible{opacity:1}
@media(min-width:901px){.service-track{overflow:visible}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1!important;transform:none!important;filter:none!important}}
.hero-content h1{font-size:clamp(64px,6.4vw,110px);line-height:.96}.hero-content{bottom:13%}.hero-content p{font-size:16px}.script,.hero-content .script{font-family:'Allura',cursive;font-size:clamp(30px,3.5vw,48px);letter-spacing:0}.navbtn{background:#e9e7dc38;border:0}.cookie-banner{position:fixed;z-index:150;right:25px;bottom:20px;max-width:440px;min-height:75px;background:#eeeee8;color:#333;display:flex;align-items:center;gap:22px;padding:15px 16px;font-size:12px;line-height:1.4;box-shadow:0 12px 35px #0003}.cookie-banner a{text-decoration:underline}.cookie-banner button{background:#282a27;color:#fff;border:0;padding:13px 20px;text-transform:uppercase;font-size:10px;letter-spacing:.1em}@media(max-width:800px){.hero-content h1{font-size:clamp(54px,12vw,95px)}.cookie-banner{right:12px;left:12px;bottom:12px;max-width:none}}
@keyframes typein{to{width:min(600px,95vw)}}
.textlink:after{font-family:Arial,sans-serif}
.service-row .service-media{align-self:center;width:55%;height:46%;display:flex;align-items:center;justify-content:center}.service-row .service-media img{width:100%;height:100%;transform:rotate(-4deg)}.service-row .service-media.collage{width:75%;height:48%;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;align-items:end}.service-row .service-media.collage img{width:100%;height:65%;transform:translateY(-15px) rotate(-4deg);object-fit:cover}.service-row .service-media.collage img:nth-child(even){transform:translateY(18px) rotate(4deg)}.service-row:hover .service-media img{transform:scale(1.04)}.service-row:hover .service-media.collage img:nth-child(even){transform:translateY(18px) scale(1.04)}@media(max-width:800px){.service-row .service-media{width:75%;height:40%}.service-row .service-media.collage{width:90%}}
.delivery .split-title h2{font-size:clamp(56px,5.2vw,82px)}.delivery .feature{grid-template-columns:36% 1fr;column-gap:11vw}.delivery .feature h3{font-size:clamp(39px,4vw,60px)}@media(max-width:800px){.delivery .feature{grid-template-columns:1fr}.delivery .split-title h2{font-size:clamp(54px,9vw,80px)}}
.project-progress{position:absolute;bottom:25px;left:4.6vw;right:4.6vw;height:1px;background:#ffffff70}.project-progress i{display:block;width:20%;height:100%;background:#fff;transition:width .5s}.project-info>a.textlink,.project-info .project-controls{margin-bottom:28px}@media(max-width:800px){.project-progress{bottom:18px}.project-info>a.textlink,.project-info .project-controls{margin-bottom:18px}}
.service-row:nth-child(2):hover{background:#46515a;color:#eeeee6}
.topbar.dark .wordmark:after{content:'Ruang × Rancangan × Pengalaman';display:block;text-align:center;font:25px 'Allura',cursive;letter-spacing:0;margin-top:-2px}.topbar.light .wordmark:after{content:none}@media(max-width:800px){.topbar.dark .wordmark:after{font-size:17px}}
/* Project first fold tuned to the observed detail template */
.detail-page-intro{padding:110px 2vw 20px;grid-template-columns:57% minmax(0,1fr);gap:1vw;min-height:100vh}.detail-page-text{position:relative}.detail-page-text h1{font-size:clamp(65px,6.2vw,90px);line-height:.84;margin:30px 0 42px;max-width:65%}.detail-year{position:absolute;top:32px;right:3%;display:flex;gap:10px;align-items:center}.detail-year small{font-size:12px;color:#999}.detail-year strong{font-size:70px;font-weight:400}.detail-metrics{grid-template-columns:repeat(4,auto);justify-content:start;gap:45px;border:0;padding:0;margin-bottom:32px;font-size:10px}.detail-metrics span{white-space:nowrap}.detail-narrative{display:block;max-width:515px;margin-top:0}.detail-narrative>div{margin:0 0 15px}.detail-narrative .eyebrow{color:#999}.detail-narrative p{font-size:16px;line-height:1.35;margin:5px 0 0}.detail-page-text>.sample-label{margin-top:15px}.detail-side-image{height:calc(100vh - 145px);min-height:580px}.detail-side-image img{height:100%;object-fit:cover}@media(max-width:800px){.detail-page-intro{display:flex;flex-direction:column;padding:105px 22px 35px}.detail-page-text h1{font-size:clamp(65px,10vw,90px);max-width:75%}.detail-year{top:28px;right:0}.detail-year strong{font-size:45px}.detail-metrics{grid-template-columns:repeat(2,1fr);gap:15px}.detail-side-image{height:55vh;min-height:0;margin-top:30px}}
.detail-side-image{margin-top:37px;height:calc(100vh - 175px)}.detail-page-text h1{margin-bottom:28px}.detail-plan{padding-top:130px;padding-bottom:130px;background:#e6e5dd;text-align:center}.detail-plan h2{font-size:clamp(70px,9vw,140px);line-height:.9;margin:45px 0 70px}.detail-plan img{width:min(80%,1000px);margin:auto;aspect-ratio:16/9;object-fit:cover}.detail-editorial{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center;padding-top:120px;padding-bottom:120px}.detail-editorial h2{font-size:clamp(60px,7vw,110px);line-height:.9;margin:40px 0}.detail-editorial p{max-width:520px;font-size:18px;line-height:1.6}.detail-editorial img{aspect-ratio:4/5}.detail-mosaic{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-bottom:120px}.detail-mosaic img{aspect-ratio:4/5}.detail-mosaic img:nth-child(2),.detail-mosaic img:nth-child(5){transform:translateY(60px)}.related{background:#dddcd3}.related>h2{font-size:clamp(70px,10vw,150px);line-height:.9;margin:25px 0 70px}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:80px}.related-grid img{aspect-ratio:3/4;margin-bottom:15px}.related-grid h3{font-size:clamp(40px,4vw,65px);margin:10px 0}.related-grid a:hover img{filter:saturate(.6)}@media(max-width:800px){.detail-side-image{margin-top:30px;height:55vh}.detail-plan img{width:100%}.detail-editorial{grid-template-columns:1fr}.detail-mosaic{grid-template-columns:repeat(2,1fr);gap:10px}.detail-mosaic img:nth-child(2),.detail-mosaic img:nth-child(5){transform:none}.related-grid{grid-template-columns:1fr 1fr}.related-grid a:nth-child(3){display:none}}
.article-author{display:flex;align-items:center;gap:12px;margin:0 0 22px}.author-avatar{width:42px;height:42px;border-radius:50%;border:1px solid var(--ink);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:19px}.article-author .eyebrow,.article-author .micro{display:block;margin:0 0 4px}.share-row{display:flex;gap:5px;align-items:center}.share-row .share-btn{margin:0;width:42px;height:42px;padding:0}.share-btn:disabled{opacity:.38;cursor:not-allowed}.article-body{max-width:none}.article-body .article-lead{font-size:clamp(30px,3.4vw,48px);line-height:1.22;letter-spacing:-.04em;margin:35px 0 55px}.article-section{margin:80px 0}.article-section h2{font-size:clamp(45px,5.2vw,72px);line-height:1;letter-spacing:-.04em;margin:0 0 30px}.article-section img{width:min(950px,calc(100vw - 9.2vw));max-width:none;position:relative;left:50%;transform:translateX(-50%);aspect-ratio:16/9;margin:70px 0}.article-outro{border-top:1px solid var(--line);padding-top:30px;margin-top:90px}.article-next{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);padding-top:55px;padding-bottom:120px;gap:8vw}.article-next a{display:block}.article-next a:last-child{text-align:right}.article-next strong{display:block;font-size:clamp(42px,5vw,75px);line-height:1;margin-top:20px;font-weight:400}@media(max-width:800px){.article-next{gap:20px}.article-next strong{font-size:35px}.article-section img{width:calc(100vw - 44px)}}
/* Article opening fold aligned with the observed editorial template */
.article-head{padding:100px 2vw 35px;min-height:587px}.article-head-grid{grid-template-columns:50% minmax(0,1fr);gap:0;margin-top:28px}.article-head h1{font-size:clamp(52px,5vw,75px);line-height:.96;max-width:550px}.article-head-side{position:relative;padding-top:160px;display:block}.article-head-side p{font-size:clamp(21px,2.2vw,28px);line-height:1.2;margin:0 0 24px;max-width:410px}.article-author{margin:0}.share-row{position:absolute;right:0;bottom:0}.article-cover{margin:0 2vw;height:80vh}@media(max-width:800px){.article-head{padding:105px 22px 25px;min-height:0}.article-head-grid{grid-template-columns:1fr;gap:35px}.article-head h1{font-size:clamp(54px,9vw,85px)}.article-head-side{padding-top:0;padding-bottom:60px}.article-head-side p{font-size:23px}.share-row{left:0;right:auto}.article-cover{margin:0 22px;height:55vh}}
.blog-page .pagehero{min-height:283px;height:283px;padding:96px 2vw 80px;display:block;position:relative}.blog-page .pagehero .eyebrow{display:block;margin-bottom:24px}.blog-page .pagehero h1{font-size:60px;line-height:.9;margin:0}.blog-page .pagehero h1 span{position:absolute;right:2vw;top:115px;font-size:70px!important}.blog-page .pagehero .micro{position:absolute;left:2vw;bottom:20px;margin:0}.blog-page .article-list{grid-template-columns:1fr 2fr;gap:70px 8px;padding:0 2vw 120px}.blog-page .article-row:first-child{grid-row:auto}.blog-page .article-row img{aspect-ratio:1}.blog-page .article-row:nth-child(2) img{aspect-ratio:3/2}.blog-page .article-row:nth-child(3){grid-column:1}.blog-page .article-row h2{font:400 clamp(22px,2vw,29px)/1.2 var(--sans);letter-spacing:0;margin:12px 0 0}.blog-page .article-row .eyebrow{order:3;margin-top:14px}.blog-page .article-row .eyebrow br{display:none}@media(max-width:800px){.blog-page .pagehero{height:260px;min-height:260px;padding:95px 22px 35px}.blog-page .pagehero h1{font-size:58px}.blog-page .pagehero h1 span{right:22px;top:130px;font-size:55px!important}.blog-page .article-list{grid-template-columns:1fr;gap:50px;padding:0 22px 100px}.blog-page .article-row:nth-child(3){grid-column:auto}.blog-page .article-row img,.blog-page .article-row:nth-child(2) img{aspect-ratio:4/3}}
.legal-page{padding:95px 2vw 150px;min-height:100vh}.legal-back{display:block;margin-bottom:50px}.legal-layout{display:grid;grid-template-columns:50% minmax(0,1fr);gap:0}.legal-title h1{font-size:clamp(55px,5.8vw,85px);line-height:.95;margin:0 0 15px}.legal-title .micro{font-size:16px}.legal-copy{padding-right:2vw}.legal-copy .sample-label{margin-bottom:25px}.legal-copy section{margin-bottom:40px}.legal-copy h2{font:500 23px/1.2 var(--sans);margin:0 0 15px}.legal-copy p{color:#65675f;font-size:17px;line-height:1.45;margin:0}.legal-copy .textlink{margin-top:30px}@media(max-width:800px){.legal-page{padding:100px 22px}.legal-layout{grid-template-columns:1fr;gap:70px}.legal-title h1{font-size:70px}}
#komposisi:before,#komposisi:after{display:none}.composition-tiles{position:absolute;inset:0;z-index:0;pointer-events:none}.composition-tile{position:absolute;display:block;pointer-events:auto;overflow:hidden;background:#bbb7aa}.composition-tile img{height:100%;width:100%;object-fit:cover;filter:saturate(.75);transition:transform .8s,filter .5s}.composition-tile:hover img{transform:scale(1.12);filter:saturate(1)}.composition-tile span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.7);background:#eeece3;color:#2a2a26;border-radius:50%;width:100px;height:100px;display:flex;align-items:center;justify-content:center;text-transform:uppercase;letter-spacing:.15em;font-size:11px;opacity:0;transition:opacity .35s,transform .35s}.composition-tile:hover span{opacity:1;transform:translate(-50%,-50%) scale(1)}.composition-tile:nth-child(1){width:14%;height:230px;left:5%;top:13%}.composition-tile:nth-child(2){width:15%;height:210px;right:7%;top:17%}.composition-tile:nth-child(3){width:12%;height:170px;left:2%;top:53%}.composition-tile:nth-child(4){width:13%;height:190px;right:3%;bottom:12%}.composition-tile:nth-child(5){width:13%;height:170px;left:28%;bottom:4%}#komposisi .introcopy{z-index:1}#komposisi .sectionhead{z-index:1}@media(max-width:800px){.composition-tile:nth-child(1),.composition-tile:nth-child(2){width:24%;height:150px}.composition-tile:nth-child(1){left:2%;top:17%}.composition-tile:nth-child(2){right:2%;top:22%}.composition-tile:nth-child(n+3){display:none}#komposisi .introcopy{margin-top:230px}}
.preloader{position:fixed;inset:0;background:#eae9e2;z-index:500;overflow:hidden}.preloader-stack{position:absolute;inset:0}.preloader-card{position:absolute;left:50%;top:50%;width:13svw;height:18svw;min-width:110px;min-height:150px;overflow:hidden;transform:translate(-50%,-50%)}.preloader-card img{width:100%;height:100%;object-fit:cover}.preloader-title{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:clamp(60px,10vw,150px);white-space:nowrap;opacity:0}.preloader-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:4svw;height:4svw;object-fit:cover;z-index:2}.topbar{transition:color .4s,transform .45s ease}.topbar.is-hidden{transform:translateY(-130%)}.topbar.menu-open{color:#252821!important;transform:none!important}@media(max-width:767px){.callbtn{display:none}.overlay{position:fixed;inset:0;width:100%;height:100svh;background:#eae9e2;z-index:99;box-shadow:none}.overlay .menu-inner{display:flex;flex-direction:column;justify-content:center;padding:110px 25px 35px;min-height:100svh}.overlay .menu-links a{font-family:var(--serif);font-size:clamp(63px,12vw,110px);line-height:.95;text-transform:none;letter-spacing:-.05em;border:0;padding:2px 0}.overlay .menu-links a:hover{background:none}.topbar{z-index:101}.preloader-title{font-size:17vw}.preloader-card{width:27svw;height:35svw}}
img.is-blur{filter:blur(15px)!important;transition:filter 1.2s ease!important}
img.is-blur{opacity:0!important;filter:blur(12px)!important;transition:opacity .65s ease-out,filter .65s ease-out!important}.has-preloader .hero-content .script{animation-delay:3s}
.composition-tile:after{content:'';position:absolute;inset:0;background:#0008;opacity:0;transition:opacity .46s ease-out}.composition-tile:hover:after{opacity:1}.composition-tile span{z-index:1;transition:opacity .46s ease-out,transform .46s ease-out}.listing-row .textlink:hover{background:#f4f3e9;padding-left:10px;padding-right:10px}.blog-page .article-list-link{display:inline-block;position:relative;order:4;margin-top:13px;text-transform:uppercase;font-size:10px;letter-spacing:.15em}.blog-page .article-list-link:after{content:'';height:1px;background:currentColor;position:absolute;left:0;bottom:-4px;width:0;transition:width .3s ease-out}.blog-page .article-row:hover .article-list-link:after{width:100%}.navbtn:hover{background:#ffffff29}.topbar.dark .navbtn:hover{background:#25282118}.callbtn:hover{background:#52554d!important;color:white!important}.round:hover{transition:background .35s ease-out;color:#fff;background:#777!important}
@media(max-width:991px) and (min-width:801px){.listing-row{grid-template-columns:1fr}.listing-gallery{height:480px}.detail-page-intro{display:flex;flex-direction:column}.detail-side-image{margin-top:30px;height:65vh;min-height:0}}
@media(max-width:767px){#komposisi{height:auto;min-height:0;padding-bottom:80px}#komposisi .introcopy{margin-top:120px}#komposisi .composition-tiles{position:relative;inset:auto;display:flex;overflow-x:auto;gap:12px;margin:70px -22px 0;padding:0 22px 20px;scroll-snap-type:x mandatory;pointer-events:auto;z-index:3;scrollbar-width:none}#komposisi .composition-tiles::-webkit-scrollbar{display:none}#komposisi .composition-tile{position:relative!important;inset:auto!important;display:block!important;flex:0 0 75vw;width:75vw!important;height:280px!important;scroll-snap-align:center}.service-track{overflow:visible}.service-row,.service-row:last-child{flex:0 0 100vw;height:80vh;min-height:550px}.project-swiper .swiper-slide{height:auto}.listing-gallery{height:400px}}
.textlink:after{content:'→';font-family:Arial,sans-serif}
:root{--paper:#e5e4dc;--cream:#f4f3eb;--ink:#1e1e1e;--line:#c4c2b7}#komposisi{background-color:var(--cream)}.detail-page-intro,.article-head,.legal-page{background:var(--cream)}
@media (min-width:480px) and (max-width:767px){#komposisi .composition-tile{flex-basis:46.5vw;width:46.5vw!important;height:320px!important}}

/* Desktop composition: centered editorial headline and portrait image fan. */
@media (min-width:801px){
  #komposisi .sectionhead h2{font-size:56px;line-height:.9;max-width:620px}
  #komposisi .sectionhead .eyebrow{left:50%;top:-25px;width:auto;padding:0;transform:translateX(-50%);white-space:nowrap}
  #komposisi .composition-tile:nth-child(1){width:20%;height:280px;left:40%;top:300px}
  #komposisi .composition-tile:nth-child(2){width:9%;height:130px;left:2%;right:auto;top:515px}
  #komposisi .composition-tile:nth-child(3){width:12%;height:185px;left:auto;right:2%;top:990px}
  #komposisi .composition-tile:nth-child(4){width:13%;height:170px;left:45%;right:auto;top:875px;bottom:auto}
  #komposisi .composition-tile:nth-child(5){width:12%;height:150px;left:15%;top:875px;bottom:auto}
  #komposisi .introcopy{grid-template-columns:minmax(0,2.5fr) minmax(0,1fr);margin:440px -2.5vw 0}
  #komposisi .introcopy .lead{font-size:16px;line-height:1.45;letter-spacing:0;font-weight:400;max-width:275px;margin:0}
  #komposisi .introcopy .body{background:transparent;padding:0;font-size:16px;line-height:1.45}
}
@media(min-width:768px){.hero-content .script{position:relative;top:35px}.hero-content h1{transform:scaleX(1.3)}.hero-side,.scrollcue{display:none}.wordmark{font-size:28px;letter-spacing:.06em}}
@media(min-width:768px){#komposisi .composition-tile:nth-child(3){top:635px;width:10%;height:165px}#komposisi .introcopy{margin-top:355px}}
@media(min-width:768px){#komposisi{height:200vh;min-height:200vh}#komposisi .sectionhead{position:sticky;top:120px}#komposisi .introcopy{position:sticky;top:430px}#komposisi .composition-tile:nth-child(4){top:990px}#komposisi .composition-tile:nth-child(5){top:1120px}}
@media(min-width:768px){#komposisi{overflow:clip}}
@media(min-width:768px){#komposisi .composition-tile:nth-child(5){left:5%;top:1200px}}
@media(min-width:768px){.projects-home{height:2650px;padding:56px 0 0;position:relative}.projects-home .projects-top{display:none}.project-show{position:sticky;top:0;height:100vh;min-height:0}.project-info>.eyebrow{visibility:hidden}}
@media(min-width:768px){#komposisi .introcopy{position:relative;height:900px;align-items:start}#komposisi .introcopy .lead{position:absolute;left:0;top:440px;width:275px}#komposisi .introcopy .body{grid-column:2;position:sticky;top:380px;width:155px;max-width:155px;margin-left:0}#komposisi .composition-tile:nth-child(3){right:2%;top:635px}}
@media(min-width:768px){.project-info{display:block;padding:0}.project-info h3{position:absolute;left:5%;top:41%;width:260px;font-size:62px;line-height:.82}.project-info .stats{position:absolute;right:5%;top:34%;width:145px;display:flex;flex-direction:column;gap:17px;margin:0}.project-info .stats>div{width:100%}.project-info .stats small{margin-bottom:3px}.project-info .stats strong{font-size:24px}.project-info>a.textlink{position:absolute;bottom:10%;margin:0;min-width:150px}.project-info #showLink{left:34%}.project-info #showAllLink{left:54%}.project-info .project-controls{position:absolute;bottom:3%;right:4%;margin:0;width:auto}.project-info .project-controls .rounds{gap:4px}.project-info .project-progress{position:absolute;bottom:3%;left:4%;width:25%}}
@media(min-width:768px){#komposisi .composition-tile:nth-child(4){left:16%;top:977px;width:13%;height:155px}#komposisi .composition-tile:nth-child(5){left:56%;top:1265px;width:19%;height:255px}}
@media(min-width:801px){.delivery{padding-bottom:105px}.delivery .four-grid{margin-top:70px}.delivery .feature{min-height:360px;padding:10px 0}}
@media(min-width:768px){.projects-home{background:#707b45}.project-show:after{background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.08) 65%,rgba(0,0,0,.50) 100%)}.project-info #showLink,.project-info #showAllLink{width:173px;min-width:173px;height:42px;bottom:11.3%;display:flex;align-items:center;justify-content:center;border:1px solid #1e1e1e;background:#1e1e1e;color:#fff;padding:0;margin:0;font-size:10px;letter-spacing:.12em;gap:10px}.project-info #showAllLink{left:50%;background:#e5e4dc;color:#1e1e1e;border-color:#e5e4dc}.project-info #showLink{left:calc(50% - 173px)}.project-info .project-controls{left:4%;right:4%;bottom:3%;width:92%;justify-content:flex-start}.project-info .project-controls .counter{order:-1}.project-info .project-controls .rounds{position:absolute;right:0;opacity:0;transition:opacity .3s;pointer-events:none}.project-show:hover .project-controls .rounds{opacity:1;pointer-events:auto}.project-info .project-progress{left:13%;bottom:5%;width:65%}}
@media(min-width:801px){.services{height:700vh;padding:0;overflow:clip;background:linear-gradient(125deg,#08112b,#273a66)}.service-stage{position:sticky;top:0;height:100vh;overflow:hidden;background:linear-gradient(125deg,#08112b,#273a66)}.service-stage:before,.service-stage:after{content:'';position:absolute;top:21%;width:25%;height:55%;background:url('/assets/sketch-house.svg') center/contain no-repeat;opacity:.6}.service-stage:before{left:5%}.service-stage:after{right:5%;transform:scaleX(-1)}.service-stage>.eyebrow{position:absolute;z-index:1;top:37%;left:50%;transform:translateX(-50%)}.service-stage>h2{position:absolute;z-index:1;top:41%;left:50%;transform:translateX(-50%);width:70%;max-width:620px;text-align:center;font-size:56px;line-height:.85;margin:0}.service-track{position:absolute;z-index:2;left:0;top:0;width:max-content;height:100vh;margin:0;display:flex;overflow:visible;scroll-snap-type:none}.service-row,.service-row:last-child{position:relative;flex:0 0 54vw;width:54vw;height:100vh;min-height:0;padding:0!important;display:block}.service-row:nth-child(2){flex-basis:62vw;width:62vw}.service-row>span{position:absolute;top:28px;left:8%;font-size:18px}.service-row h3{position:absolute;top:76px;left:8%;font-size:clamp(75px,9vw,128px);margin:0}.service-row p{position:absolute;bottom:7%;left:8%;font-size:17px;max-width:420px}.service-row .service-media{position:absolute;left:25%;top:24%;height:52%;width:50%}.service-row .service-media img{width:100%;height:100%;object-fit:cover}.service-row:nth-child(2) .service-media{left:18%;top:36%;width:67%;height:28%}.service-row .service-media.collage{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:10px}.service-row .service-media.collage img{width:100%;height:100%;transform:none}.service-row .service-media.collage img:nth-child(1){grid-column:1;grid-row:1}.service-row .service-media.collage img:nth-child(2){grid-column:2;grid-row:1}.service-row .service-media.collage img:nth-child(3){grid-column:1;grid-row:2}.service-row .service-media.collage img:nth-child(4){grid-column:2;grid-row:2}.service-row .service-media.collage img:nth-child(5){grid-column:3;grid-row:2}}
@media(min-width:801px){.service-row h3{left:18%}.service-row:nth-child(2) .service-media{left:27%;top:36%;width:330px;height:200px}.service-row .service-media.collage{grid-template-columns:repeat(3,94px);grid-template-rows:repeat(2,94px);gap:10px}}
@media(max-width:767px){.services{height:600svh;padding:0;overflow:clip;background:linear-gradient(125deg,#08112b,#273a66)}.service-stage{position:sticky;top:0;height:100svh;overflow:hidden;background:linear-gradient(125deg,#08112b,#273a66)}.service-stage:before,.service-stage:after{content:'';position:absolute;top:20%;width:30%;height:38%;opacity:.35;background:url('/assets/sketch-house.svg') center/contain no-repeat}.service-stage:before{left:-5%}.service-stage:after{right:-5%;transform:scaleX(-1)}.service-stage>.eyebrow{position:absolute;top:33%;left:50%;transform:translateX(-50%);white-space:nowrap}.service-stage>h2{position:absolute;top:40%;left:50%;transform:translateX(-50%);width:90%;font-size:clamp(42px,8vw,60px);line-height:.9;text-align:center;margin:0}.service-track{position:absolute;left:0;top:0;width:max-content;height:100svh;display:flex;margin:0;overflow:visible;scroll-snap-type:none}.service-row,.service-row:last-child,.service-row:nth-child(2){position:relative;flex:0 0 100vw;width:100vw;height:100svh;min-height:0;padding:25px!important;display:flex;flex-direction:column;justify-content:space-between}.service-row h3{font-size:clamp(65px,14vw,100px);margin:0}.service-row .service-media{position:absolute;left:25%;top:35%;width:50%;height:30%}.service-row:nth-child(2) .service-media{left:8%;top:38%;width:84%;height:25%}.service-row .service-media.collage{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:7px}.service-row .service-media.collage img{height:100%;width:100%;transform:none}.service-row .service-media.collage img:nth-child(1){grid-column:1;grid-row:1}.service-row .service-media.collage img:nth-child(2){grid-column:2;grid-row:1}.service-row .service-media.collage img:nth-child(3){grid-column:1;grid-row:2}.service-row .service-media.collage img:nth-child(4){grid-column:2;grid-row:2}.service-row .service-media.collage img:nth-child(5){grid-column:3;grid-row:2}}
@media(min-width:801px){.service-stage>h2{top:42.5%;transform:translateX(-50%) scaleX(1.2)}.service-stage:before{left:4%;width:20%}.service-stage:after{right:1%;width:25%}}
@media(min-width:801px){.service-row h3{top:78px;font-size:52px}.service-row:nth-child(2) h3{left:24%}.service-row .service-media{left:12%;top:29%;width:72%;height:44%}.service-row:first-child .service-media img{transform:none}.service-row:nth-child(2) .service-media{left:15%;top:37%;width:330px;height:192px}}
@media(min-width:801px){.service-row:nth-child(3) .service-media{left:20%;top:24%;width:60%;height:50%}.service-row:nth-child(3) .service-media img{transform:none}}
@media(min-width:801px){.service-row:first-child,.service-row:nth-child(3){background:#f4f3eb;color:#1e1e1e}.service-row:nth-child(2){background:linear-gradient(180deg,#07112d,#2e406e);color:#f4f3eb}.service-row:nth-child(2) p{left:14%;bottom:11%}.service-row:nth-child(2) .service-media{left:0;top:0;width:100%;height:100%}.service-row:nth-child(2) .service-media.collage{display:block}.service-row:nth-child(2) .service-media.collage img{position:absolute;width:96px!important;height:96px!important;object-fit:cover;transform:none}.service-row:nth-child(2) .service-media.collage img:nth-child(1){left:27%;top:36.7%}.service-row:nth-child(2) .service-media.collage img:nth-child(2){left:54%;top:36.7%}.service-row:nth-child(2) .service-media.collage img:nth-child(3){left:14%;top:49.4%}.service-row:nth-child(2) .service-media.collage img:nth-child(4){left:40%;top:49.4%}.service-row:nth-child(2) .service-media.collage img:nth-child(5){left:67%;top:49.4%}}
@media(min-width:801px){.service-row h3{top:75px}.service-row:nth-child(3) p{bottom:11%}.service-row:nth-child(3) .service-media{top:24.5%}}
@media(min-width:768px){#komposisi .composition-tile:nth-child(4){top:882px}#komposisi .composition-tile:nth-child(5){top:1170px}#komposisi .introcopy .lead{top:340px}#komposisi .introcopy .body{margin-top:-145px}}
@media(min-width:768px){.projects-home{background:linear-gradient(to bottom,var(--cream) 0 56px,#707b45 56px)}}
@media(min-width:768px){#komposisi .composition-tile:nth-child(4){top:850px}#komposisi .composition-tile:nth-child(5){top:1138px}#komposisi .introcopy .body{align-self:start;margin-top:340px}}
@media(min-width:768px){#komposisi .composition-tile:nth-child(4){top:882px}#komposisi .composition-tile:nth-child(5){top:1170px}}
@media(min-width:768px){#komposisi .introcopy .lead{width:225px;max-width:225px}}
@media(min-width:768px){#komposisi .introcopy .body p{margin-top:0}}
