:root{--dm-ink:#252522;--dm-muted:#77746e;--dm-gold:#a88d53;--dm-line:#e6e2dc;--dm-cream:#f7f6f3;--dm-sans:"DM Sans",Arial,sans-serif;--dm-serif:"Cormorant Garamond",Georgia,serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body.dm-page{margin:0;background:#fff;color:var(--dm-ink);font-family:var(--dm-sans);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}
.dm-page a{color:inherit;text-decoration:none}
.dm-page img{display:block;max-width:100%}
.dm-page button,.dm-menu-toggle{font:inherit}
.dm-page button{cursor:pointer}
.dm-container{width:min(100% - 96px,1440px);margin-inline:auto}
.dm-page h1,.dm-page h2,.dm-page h3{margin:0;font-family:var(--dm-serif);font-weight:400;line-height:1}
.dm-page h2{font-size:clamp(3rem,5vw,6rem);letter-spacing:-.035em}
.dm-page h2 em,.dm-page h1 em{font-weight:400;color:var(--dm-gold)}
.dm-page p{margin-top:0}
.dm-eyebrow{display:block;margin:0 0 28px;font:600 10px/1.5 var(--dm-sans);letter-spacing:.35em;text-transform:uppercase;color:var(--dm-gold)}
.dm-section{padding-block:126px}
.dm-button{display:inline-flex;align-items:center;justify-content:space-between;gap:50px;min-width:226px;padding:15px 22px;border:1px solid var(--dm-gold);background:transparent;color:inherit;text-transform:uppercase;letter-spacing:.22em;font:600 10px/1.2 var(--dm-sans);transition:background .25s,color .25s,transform .25s}
.dm-button:hover{transform:translateY(-2px);background:var(--dm-gold);color:#fff}
.dm-button--light{color:#fff}
.dm-button--dark{color:var(--dm-ink)}
.dm-button span{font-size:17px;line-height:0}
.dm-nav{height:81px;width:100%;display:flex;align-items:center;justify-content:space-between;padding-inline:max(48px,calc((100vw - 1440px)/2));background:#fff;color:var(--dm-ink);border-bottom:1px solid var(--dm-line);position:relative;z-index:20;font-family:var(--dm-sans)}
.dm-nav--over-hero{position:absolute;top:0;left:0;background:transparent;color:#fff;border-bottom:0}
.dm-brand{display:inline-flex;align-items:center;width:122px;height:75px}
.dm-brand img{width:122px;height:auto;max-height:67px;object-fit:contain}
.dm-menu{display:flex;align-items:center;gap:42px}
.dm-menu a{position:relative;color:inherit!important;background:transparent!important;font:600 10px/1.2 var(--dm-sans);text-transform:uppercase;letter-spacing:.25em;text-decoration:none!important;transition:color .25s}
.dm-menu a:hover,.dm-menu a[aria-current=page]:hover{color:var(--dm-gold)!important}
.dm-menu a[aria-current=page]::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:1px;background:var(--dm-gold);opacity:.9}
.dm-nav--over-hero .dm-menu a[aria-current=page]::after{background:#fff;opacity:.8}
.dm-menu-toggle{display:none;border:0;background:transparent;color:inherit;padding:12px;cursor:pointer}
.dm-menu-toggle span{display:block;width:24px;height:1px;background:currentColor;margin:5px 0}
.dm-hero{height:min(930px,100svh);min-height:620px;position:relative;overflow:hidden;background:#383831;color:#fff;isolation:isolate}
.dm-hero-slide,.dm-hero-slide img,.dm-hero-shade{position:absolute;inset:0;width:100%;height:100%}
.dm-hero-slide{opacity:0;transition:opacity 900ms ease}
.dm-hero-slide.is-active{opacity:1}
.dm-hero-slide img{object-fit:cover;object-position:center}
.dm-hero-shade{pointer-events:none;background:linear-gradient(90deg,rgba(16,18,18,.62),rgba(16,18,18,.13) 64%),linear-gradient(0deg,rgba(15,16,15,.55),transparent 55%);z-index:1}
.dm-hero-content{position:absolute;z-index:2;left:0;right:0;bottom:clamp(92px,11vh,133px)}
.dm-hero-content .dm-eyebrow{color:#c4a76d;margin-bottom:27px}
.dm-page .dm-hero h1{font-size:clamp(4rem,5.65vw,7.8rem);letter-spacing:-.032em;line-height:.88}
.dm-hero-content p{font-size:15px;line-height:1.65;max-width:455px;margin:35px 0 36px;color:rgba(255,255,255,.88)}
.dm-hero-controls{position:absolute;z-index:3;bottom:42px;right:max(48px,calc((100vw - 1440px)/2));display:flex;align-items:center;gap:13px}
.dm-hero-controls button{width:30px;height:13px;padding:0;border:0;background:none;position:relative}
.dm-hero-controls button::before{content:"";position:absolute;left:0;right:0;top:6px;height:1px;background:rgba(255,255,255,.55)}
.dm-hero-controls button.is-active::before{background:var(--dm-gold);height:2px}
.dm-slide-counter{margin-left:14px;font:600 10px var(--dm-sans);letter-spacing:.25em;color:#eae7df}
.dm-studio{display:grid;grid-template-columns: 1fr 1fr;column-gap:10%;align-items:start}
.dm-studio .dm-section-heading h2{max-width:550px}
.dm-principles article{border-top:1px solid var(--dm-line);display:grid;grid-template-columns:70px 1fr;gap:22px;padding:26px 0}
.dm-principles article:last-child{border-bottom:1px solid var(--dm-line)}
.dm-principles article>span{font-size:12px;color:var(--dm-gold)}
.dm-principles h3{font-size:35px;margin-bottom:9px}
.dm-principles p{font-size:13px;line-height:1.8;color:var(--dm-muted);max-width:460px;margin:0}
.dm-marquee{background:#302e29;color:#f3efea;white-space:nowrap;overflow:hidden;padding:20px 0;text-transform:uppercase;font:500 11px var(--dm-sans);letter-spacing:.32em}
.dm-marquee>div{width:max-content;animation:dm-marquee 42s linear infinite}
.dm-marquee span{padding-inline:44px;color:var(--dm-gold)}
@keyframes dm-marquee{to{transform:translateX(-50%)}}
.dm-journal-top{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:43px}
.dm-journal-top .dm-eyebrow{margin-bottom:15px}
.dm-journal-top p:last-child{margin:14px 0 0;color:var(--dm-muted);font-size:14px}
.dm-text-link,.dm-instagram-link{border-bottom:1px solid var(--dm-gold);padding-bottom:7px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.15em;white-space:nowrap}
.dm-journal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.dm-journal-card{position:relative;overflow:hidden;aspect-ratio:3/4;background:#e7e4df}
.dm-journal-card::after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.65));opacity:.85;transition:opacity .3s}
.dm-journal-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.dm-journal-card:hover img{transform:scale(1.045)}
.dm-journal-card span{position:absolute;z-index:1;bottom:20px;left:20px;right:20px;color:#fff;font-family:var(--dm-serif);font-size:26px;line-height:1}
.dm-journal-card small{display:block;margin-top:10px;color:#ddd6ca;font:500 9px var(--dm-sans);letter-spacing:.22em;text-transform:uppercase}
.dm-instagram-link{display:table;margin-top:37px}
.dm-commission{position:relative;min-height:480px;color:#fff;background:#312f2c url('/proyek-NCK.webp') center 42%/cover;isolation:isolate;display:flex;align-items:center}
.dm-commission-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,23,22,.87),rgba(23,23,22,.40));z-index:-1}
.dm-commission-inner{padding-block:85px}
.dm-commission h2{font-size:clamp(3.6rem,5.3vw,6.5rem)}
.dm-commission-inner>p:not(.dm-eyebrow){margin:23px 0 30px;color:#e9e6e1}
.dm-commission-actions{display:flex;align-items:center;gap:35px;flex-wrap:wrap}
.dm-plain-link{font-size:11px;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.65);padding-bottom:5px}
.dm-contact{display:grid;grid-template-columns:1fr 1fr;gap:10%}
.dm-contact>div>p:not(.dm-eyebrow){margin:24px 0;color:var(--dm-muted)}
.dm-contact>div>a{color:var(--dm-gold);border-bottom:1px solid var(--dm-gold);padding-bottom:3px;font-size:13px}
.dm-contact-form{display:grid;gap:20px}
.dm-contact-form label{display:grid;gap:6px;text-transform:uppercase;letter-spacing:.15em;font-weight:600;font-size:10px}
.dm-contact-form input,.dm-contact-form textarea{display:block;width:100%;padding:12px 4px;border:0;border-bottom:1px solid var(--dm-line);border-radius:0;background:transparent;color:var(--dm-ink);outline:none;font:400 14px var(--dm-sans);resize:vertical}
.dm-contact-form :is(input,textarea):focus{border-color:var(--dm-gold)}
.dm-contact-form .dm-button{justify-self:start}
.dm-form-status{font-size:13px;color:#506245;margin:0}
.dm-footer{background:#292824;color:#f1ede7;font-family:var(--dm-sans)}
.dm-footer-main{display:grid;grid-template-columns:1.5fr 1fr .6fr;gap:9%;padding-block:80px 72px}
.dm-footer-intro img{width:160px;height:auto;margin-bottom:17px}
.dm-footer-intro p{max-width:300px;color:#c6c0b6;line-height:1.8;font-size:12px;margin:0 0 22px}
.dm-footer-social{color:var(--dm-gold)!important;font-size:11px;letter-spacing:.13em;text-transform:uppercase}
.dm-footer-col h2{font:600 10px var(--dm-sans);text-transform:uppercase;letter-spacing:.3em;color:var(--dm-gold);margin:3px 0 27px}
.dm-footer-col a,.dm-footer-col p{display:block;color:#d8d3ca!important;text-decoration:none!important;font:400 12px/1.9 var(--dm-sans);margin:0 0 6px}
.dm-footer-col a:hover{color:#fff!important}
.dm-footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.13);padding-block:24px 30px;color:#aaa69e;font:400 10px var(--dm-sans);letter-spacing:.1em}
.dm-inner-hero{padding-top:110px;padding-bottom:54px}
.dm-inner-hero .dm-eyebrow{margin-bottom:20px}
.dm-inner-hero h1{font-family:var(--dm-serif);font-size:clamp(4rem,6vw,7rem);font-weight:400;line-height:.98;letter-spacing:-.04em;margin:0}
.dm-inner-hero h1 em{color:var(--dm-gold);font-weight:400}
.dm-inner-hero-row{display:flex;align-items:end;justify-content:space-between;gap:32px}
.dm-inner-hero p{max-width:560px;margin:30px 0 0;color:var(--dm-muted);line-height:1.8}
.dm-project-count{white-space:nowrap;color:var(--dm-muted);font-size:10px;letter-spacing:.28em;text-transform:uppercase}
.dm-projects{padding-bottom:130px}
.dm-project-filters{display:flex;gap:26px;flex-wrap:wrap;margin-bottom:28px;border-bottom:1px solid var(--dm-line)}
.dm-project-filters a{position:relative;padding:0 0 13px;font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--dm-muted)}
.dm-project-filters a[aria-current=page]{color:var(--dm-ink)}
.dm-project-filters a[aria-current=page]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;background:var(--dm-gold);height:2px}
.dm-project-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:32px 16px}
.dm-project-card{min-width:0}
.dm-project-photo{display:block;position:relative;width:100%;border:0;padding:0;aspect-ratio:3/4;overflow:hidden;background:#e5e3dd;cursor:zoom-in}
.dm-project-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.dm-project-photo:hover img{transform:scale(1.05)}
.dm-project-photo::after{content:"View photograph ↗";position:absolute;inset:auto 0 0;padding:36px 10px 12px;background:linear-gradient(transparent,rgba(0,0,0,.58));color:#fff;opacity:0;transition:opacity .2s;font:600 9px var(--dm-sans);letter-spacing:.12em;text-transform:uppercase}
.dm-project-photo:hover::after,.dm-project-photo:focus-visible::after{opacity:1}
.dm-project-meta{padding:11px 0 0}
.dm-project-meta a{display:block;font-family:var(--dm-serif);font-size:21px;line-height:1.15}
.dm-project-meta a:hover{color:var(--dm-gold)}
.dm-project-meta span{display:block;margin-top:4px;font-size:10px;color:var(--dm-muted);line-height:1.4}
.dm-back-link{display:inline-block;margin-bottom:50px;color:var(--dm-muted)!important;font-size:10px;letter-spacing:.2em;text-transform:uppercase}
.dm-back-link:hover{color:var(--dm-gold)!important}
.dm-detail-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.dm-detail-gallery button{display:block;width:100%;border:0;padding:0;background:#e5e3dd;cursor:zoom-in;overflow:hidden}
.dm-detail-gallery button:first-child{grid-column:span 2;grid-row:span 2}
.dm-detail-gallery img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .5s}
.dm-detail-gallery button:first-child img{aspect-ratio:1}
.dm-detail-gallery button:hover img{transform:scale(1.04)}
.dm-gallery-return{display:table;margin-top:45px}
.dm-pagination{display:flex;justify-content:center;align-items:center;gap:7px;margin-top:60px}
.dm-pagination a,.dm-pagination span{display:grid;place-items:center;min-width:34px;height:34px;border:1px solid var(--dm-line);font:500 12px var(--dm-sans);color:var(--dm-ink)}
.dm-pagination [aria-current=page]{background:var(--dm-ink);border-color:var(--dm-ink);color:#fff}
.dm-empty{padding:80px 0;color:var(--dm-muted)}
.dm-lightbox{border:0;background:rgba(28,27,25,.98);color:#fff;max-width:none;max-height:none;width:100vw;height:100vh;padding:50px;overscroll-behavior:contain}
.dm-lightbox::backdrop{background:rgba(0,0,0,.9)}
.dm-lightbox img{display:block;max-width:100%;max-height:calc(100vh - 130px);margin:auto;object-fit:contain}
.dm-lightbox p{text-align:center;margin:13px 0 0;font-family:var(--dm-serif);font-size:25px}
.dm-lightbox button{position:absolute;top:20px;right:28px;background:none;border:0;color:#fff;font-size:28px;line-height:1}
.dm-about-image{width:100%;height:min(620px,55vw);min-height:330px;object-fit:cover;object-position:center 44%}
.dm-about-copy{display:grid;grid-template-columns:.7fr 1fr;gap:14%;padding-top:90px;padding-bottom:55px}
.dm-about-copy p{max-width:780px;font-family:var(--dm-serif);font-size:clamp(27px,3vw,42px);line-height:1.25;margin:0}
.dm-about-values{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:40px 0 110px}
.dm-about-values article{border-top:1px solid var(--dm-line);padding-top:28px}
.dm-about-values article>span{font-size:12px;color:var(--dm-gold)}
.dm-about-values h2{font-size:42px;margin:28px 0 16px}
.dm-about-values p{font-size:13px;color:var(--dm-muted);line-height:1.8}
.dm-about-quote{padding:105px 0;text-align:center;background:var(--dm-cream)}
.dm-about-quote blockquote{margin:0 auto 28px;max-width:900px;font:400 clamp(36px,4vw,58px)/1.16 var(--dm-serif)}
.dm-about-quote a{display:inline-block;border-bottom:1px solid var(--dm-gold);padding-bottom:6px;text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:600}
:focus-visible{outline:2px solid var(--dm-gold);outline-offset:3px}
@media(max-width:1050px){.dm-project-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dm-journal-grid{gap:10px}.dm-journal-card span{font-size:21px}.dm-footer-main{gap:5%}}
@media(max-width:720px){.dm-container{width:min(100% - 40px,1440px)}.dm-nav{height:70px;padding-inline:20px}.dm-brand,.dm-brand img{width:104px}.dm-menu-toggle{display:block;z-index:22}.dm-menu{display:none;position:absolute;left:0;right:0;top:70px;padding:30px 24px;background:#fff;color:var(--dm-ink);border-bottom:1px solid var(--dm-line);flex-direction:column;align-items:start;gap:28px}.dm-nav.is-open .dm-menu{display:flex}.dm-nav--over-hero .dm-menu a[aria-current=page]::after{background:var(--dm-gold)}.dm-hero{height:90svh;min-height:600px}.dm-hero-content{bottom:114px}.dm-page .dm-hero h1{font-size:clamp(3.85rem,12vw,5.8rem)}.dm-hero-content p{font-size:13px;max-width:320px;margin:25px 0}.dm-hero-controls{right:20px;bottom:27px}.dm-section{padding-block:80px}.dm-studio,.dm-contact,.dm-about-copy{grid-template-columns:1fr;gap:45px}.dm-principles article{grid-template-columns:50px 1fr}.dm-journal-top{display:block}.dm-journal-top .dm-text-link{display:inline-block;margin-top:20px}.dm-journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dm-footer-main{grid-template-columns:1fr 1fr;gap:34px;padding-block:60px}.dm-footer-intro{grid-column:1 / -1}.dm-inner-hero{padding-top:85px;padding-bottom:42px}.dm-inner-hero-row{display:block}.dm-project-count{display:block;margin-top:20px}.dm-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 12px}.dm-detail-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dm-detail-gallery button:first-child{grid-column:span 2;grid-row:auto}.dm-projects{padding-bottom:80px}.dm-about-image{height:380px}.dm-about-copy{padding-top:60px}.dm-about-values{grid-template-columns:1fr;gap:10px;padding-bottom:75px}.dm-about-values article{padding:22px 0}.dm-about-values h2{margin:15px 0}.dm-footer-bottom{flex-direction:column}.dm-lightbox{padding:65px 15px 20px}}
@media(max-width:390px){.dm-page .dm-hero h1{font-size:3.5rem}.dm-journal-card span{font-size:19px}.dm-footer-main{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.dm-marquee>div{animation:none}.dm-hero-slide,.dm-journal-card img,.dm-project-photo img{transition:none}}
